【发布时间】:2015-11-12 08:47:56
【问题描述】:
我正在尝试在数组列表的不同位置添加各种项目。 我需要使用arraylist,因为要读取的元素数量不清楚。
当我添加元素时,我遇到了 indexoutofbonds 异常。 我知道如果索引大于 size() 我可能会遇到异常。 但是因为我认为当我尝试添加比数组列表大小更多的元素时大小会增加,为什么我会遇到异常? array 和 arraylist 之间的区别在于 arraylist 是动态的并且可以处理大小问题?我错了吗?
一个例子如下。我正在使用数组列表的数组列表。
arr.add(e1,new ArrayList<Integer>());
在这种情况下,e1 可能是 1,0,10001,4,540,100000
arraylist 不应该处理这个问题吗?
我的意思是 我不想在下面使用那种方法。我需要元素之间的空格,以便在程序读取数据时其他元素可以适应它们的位置。我不希望它们被移动,因为为上述代码指定的 add 方法正在获取位置和元素。我不想将该项目添加到下一个可用位置。
arr.add(new ArrayList<Integer>());
任何帮助都会很有用。或者你可以让我在 Java 中使用另一种数据结构来解决我的问题。
【问题讨论】:
-
完整代码在哪里?什么是堆栈跟踪?