列表最多能容纳多少数据?

Pau*_*aul 56 java size arraylist

Java中的java.util.List中最多可以添加多少数据?

是否有ArrayList的默认大小?

gus*_*afc 51

这取决于List实施.由于您使用ints 索引数组,ArrayList因此不能容纳多个Integer.MAX_VALUE元素.但是,A LinkedList不以相同的方式限制,并且可以包含任何数量的元素.

  • [size()`的规范(http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html#size%28%29)清楚地说:*返回此列表中的元素数量.如果此列表包含多个`Integer.MAX_VALUE`元素,则返回`Integer.MAX_VALUE`.*索引操作不适用于索引`Integer.MAX_VALUE`之后的元素,但除非实现依赖索引(其中`ArrayList`执行索引)出于必要性,您仍然可以遍历列表,向其添加内容(在尾部或索引"Integer.MAX_VALUE"之前),删除元素(再次,不是在"Integer.MAX_VALUE"之后)等. (12认同)
  • 对于具有多个Integer.MAX_VALUE元素的列表,您对size(),get(int),set(int,E)和remove(int)执行什么操作?由于这些约束,我认为元素的上限将始终为Integer.MAX_VALUE,因为索引类型是由java.util.List接口强加的. (8认同)

Boz*_*zho 22

它取决于实现,但List接口没有定义限制.

然而,接口定义了size()返回的方法int.

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

所以,没有限制,但到达后Integer.MAX_VALUE,列表的行为改变了一下

ArrayList (标记的)由数组支持,并且限于数组的大小 - 即 Integer.MAX_VALUE


aio*_*obe 12

Java中的java.util.List中最多可以添加多少数据?

这与可以存储在HashMap中的键(对象)数量的理论限制非常相似

文档java.util.List没有明确记录对元素最大数量的任何限制.List.toArray然而,文件说明......

以适当的顺序返回包含此列表中所有元素的数组(从第一个元素到最后一个元素); 会忠实地实施某些方法,例如

......严格来说,如果列表中有超过2 31 -1 = 2147483647个元素,则不可能忠实地实现此方法,因为这是最大可能的数组.

有人会争辩说size()...... 的文件

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

...表示没有上限,但此视图会导致许多不一致.请参阅此错误报告.

数组列表是否有默认大小?

如果您指的是ArrayList那么我会说默认大小为0.但是默认容量(您可以插入的元素数量,而不强制列表重新分配内存)是10.请参阅默认构造函数的文档.

大小限制ArrayListInteger.MAX_VALUE因为它由普通数组支持.


Ger*_*ies 9

java.util.List是一个界面.列表可以容纳多少数据取决于您选择使用的List的具体实现.

通常,List实现可以包含任意数量的项目(如果使用索引列表,则可能限于Integer.MAX_VALUELong.MAX_VALUE).只要你的内存不足,List就不会变得"满"或任何东西.


duf*_*ymo 5

尽可能多的可用内存.除了堆之外没有大小限制.