【发布时间】:2016-01-25 13:32:07
【问题描述】:
有没有办法在 java 中填充具有无限索引的数组?我只是希望程序继续追加到没有任何容量的数组。
我这样声明:
int arrInt[] = new int[]
但它说它缺少维度。那我该怎么做呢?
【问题讨论】:
-
您可以使用 ArrayList 代替 - 它不受限制且更易于处理
标签: java arrays dimensions
有没有办法在 java 中填充具有无限索引的数组?我只是希望程序继续追加到没有任何容量的数组。
我这样声明:
int arrInt[] = new int[]
但它说它缺少维度。那我该怎么做呢?
【问题讨论】:
标签: java arrays dimensions
Java 中的数组是静态的,即。您必须在初始化时声明其大小。因此,答案是“不”,因为您没有提到维度,所以您得到了正确的信息。
【讨论】:
不,没有。
ArrayList 服务于这个目的(即一个基于数组的列表,当向其中添加元素时,其容量会随着时间自动增加)。
【讨论】:
有没有办法在 java 中用无限索引填充数组?
没有
我只想让程序继续附加到数组中而不添加任何内容 容量。
需要使用ArrayList
List<Object> arr = new ArrayList<Object>();
arr.add(obj1);
arr.add(obj2);
arr.add(obj3); .. so on
我这样声明 - int arrInt[] = new int[]。但它说它 缺少维度。
数组总是会抱怨声明大小。
【讨论】:
在 java 中,数组的最大元素数等于Integer.MAX_VALUE - 5。要解决此问题,请尝试使用具有无限数量元素的LinkedList。由于这是一个列表,因此您可以随时在代码中修改大小。请注意,ArrayList 的最大元素数也为 Integer.MAX_VALUE,因此如果您确实需要无限大小的列表,则需要 LinkedList。
资源:http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html
【讨论】:
add(index, element) 或 indexOf(element) 之类的函数也会开始崩溃。 (但不确定如何在实践中构建如此庞大的列表)