最大。 Java中List的长度

时间:2010-12-21 11:35:17

标签: java list

java中List的最大长度是多少?我的意思是列表中可以存储多少个最大元素?

3 个答案:

答案 0 :(得分:8)

Integer.MAX_VALUE   

或永远低的堆将是限制

答案 1 :(得分:5)

在你得到接近Integer.MAX_VALUE个元素数量的任何地方之前,你很可能会耗尽堆空间,但是让我们看看如果我们有无限的内存并尝试添加超过{{1元素到Integer.MAX_VALUE

1)ArrayList:

ArrayList将尝试增加其容量:

List

此计算将溢出,int newCapacity = (oldCapacity * 3)/2 + 1; 实际上将小于newCapacity。然后Integer.MAX_VALUE将尝试将原始数组中的元素复制到较小的数组中,从而丢失元素。

2)LinkedList:

一旦越过ArrayList限制,LinkedList的效果会更好一些。它将继续保持元素,但Integer.MAX_VALUE属性将受到整数溢出的影响,并将影响使用它的其他操作。

答案 2 :(得分:3)

这取决于具体的列表实现。大多数人认为它是Integer.MAX_VALUE,但并不仅限于此。实际上size()方法的文档只是states

  

如果此列表包含多个Integer.MAX_VALUE元素,则返回Integer.MAX_VALUE

所以它可能包含更多元素。