【问题标题】:Populate an array with unlimited index - Java使用无限索引填充数组 - Java
【发布时间】:2016-01-25 13:32:07
【问题描述】:

有没有办法在 java 中填充具有无限索引的数组?我只是希望程序继续追加到没有任何容量的数组。

我这样声明:

int arrInt[] = new int[]

但它说它缺少维度。那我该怎么做呢?

【问题讨论】:

  • 您可以使用 ArrayList 代替 - 它不受限制且更易于处理

标签: java arrays dimensions


【解决方案1】:

Java 中的数组是静态的,即。您必须在初始化时声明其大小。因此,答案是“不”,因为您没有提到维度,所以您得到了正确的信息。

【讨论】:

  • 感谢您对这件事的了解! XD
  • 感谢您的认可
【解决方案2】:

不,没有。

ArrayList 服务于这个目的(即一个基于数组的列表,当向其中添加元素时,其容量会随着时间自动增加)。

【讨论】:

  • 好吧,我想我也会用这个方法。XD
【解决方案3】:

有没有办法在 java 中用无限索引填充数组?

没有

我只想让程序继续附加到数组中而不添加任何内容 容量。

需要使用ArrayList

List<Object> arr = new ArrayList<Object>();
arr.add(obj1);
arr.add(obj2);
arr.add(obj3); .. so on

我这样声明 - int arrInt[] = new int[]。但它说它 缺少维度。

数组总是会抱怨声明大小。

【讨论】:

    【解决方案4】:

    在 java 中,数组的最大元素数等于Integer.MAX_VALUE - 5。要解决此问题,请尝试使用具有无限数量元素的LinkedList。由于这是一个列表,因此您可以随时在代码中修改大小。请注意,ArrayList 的最大元素数也为 Integer.MAX_VALUE,因此如果您确实需要无限大小的列表,则需要 LinkedList

    资源:http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html

    【讨论】:

    • 谢谢。我会考虑这个! XD
    • 即使对于 LinkedList,如果您以某种方式超过 max_int 元素,add(index, element)indexOf(element) 之类的函数也会开始崩溃。 (但不确定如何在实践中构建如此庞大的列表)
    猜你喜欢
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多