列表最多可以容纳多less数据?
Java中的java.util.List中最多可以添加多less数据?
有一个ArrayList的默认大小?
这取决于List
实现。 既然你用int
索引数组, ArrayList
不能容纳多于Integer.MAX_VALUE
元素。 但是, LinkedList
方式不受限制,可以包含任意数量的元素。
这取决于实现,但限制不是由List
接口定义的。
然而,接口定义了size()
方法,它返回一个int
。
返回此列表中元素的数量。 如果此列表包含多个
Integer.MAX_VALUE
元素,则返回Integer.MAX_VALUE
。
所以,没有限制,但达到Integer.MAX_VALUE
,列表的行为会发生一些变化
ArrayList
(被标记)由一个数组支持,并且被限制在数组的大小 – 即Integer.MAX_VALUE
Java中的java.util.List中最多可以添加多less数据?
这与可以存储在HashMap中的键(对象)的数量的理论极限非常相似?
java.util.List
的文档没有明确logging元素的最大数目的限制。 List.toArray
的文档,但是,指出…
以正确的顺序(从第一个元素到最后一个元素)返回一个包含此列表中所有元素的数组; 在实施某些方法时会遇到麻烦,比如
…严格来说,如果列表中的元素多于2 31 -1 = 2147483647,那么将无法忠实地实现此方法,因为这是最大的可能数组。
有些人会争辩说,文件的size()
…
返回此列表中元素的数量。 如果此列表包含多个
Integer.MAX_VALUE
元素,则返回Integer.MAX_VALUE
。
…表示没有上限,但是这种观点导致许多不一致。 看到这个错误报告 。
有没有数组列表的默认大小?
如果你指的是ArrayList
那么我会说默认大小是0.然而,默认的容量 (你可以插入的元素的数量,而不是强迫列表重新分配内存)是10.请参阅默认构造函数的文档。
ArrayList
的大小限制是Integer.MAX_VALUE
因为它是由普通数组支持的。
java.util.List
是一个接口。 列表可以容纳多less数据取决于您select使用的列表的具体实现。
通常,List实现可以包含任意数量的项目(如果使用索引列表,则可能会限制为Integer.MAX_VALUE
或Long.MAX_VALUE
)。 只要你没有用完内存,列表就不会变成“完整”或任何东西。
尽可能多的可用内存将允许。 没有大小限制,除了堆。
然而,接口定义了size()方法,它返回一个int。
Returns the number of elements in this list. If this list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
所以,没有限制,但达到Integer.MAX_VALUE后,列表的行为会发生一些变化
ArrayList(被标记)由一个数组支持,并且被限制在数组的大小 – 即Integer.MAX_VALUE
看到下面的代码arraylist默认是10当你创build列表l = new ArrayList();
public class ArrayList<E> extends AbstractList<E> implements List<E>, Cloneable, Serializable, RandomAccess { private static final long serialVersionUID = 8683452581122892189L; private transient int firstIndex; private transient int lastIndex; private transient E[] array; /** * Constructs a new instance of {@code ArrayList} with ten capacity. */ public ArrayList() { this(10); }
编号在java数组中的项应该从零开始。 这是我认为我们可以访问Integer.MAX_VALUE + 1个项目。