我正在构建一个聊天应用程序。当前我在一个 中包含所有消息,这让我思考 -设计要容纳ArrayList
多少元素?ArrayList
100?1.000?10.000?
问问题
514 次
4 回答
11
ArrayList
不能容纳超过Integer.MAX_VALUE
元素。
所以 2147483647 是最大值。
于 2013-07-03T14:18:32.370 回答
10
的大小ArrayList
为Integer.MAX_VALUE
。
/**
* Returns the number of elements in this list. If this list contains
* more than <tt>Integer.MAX_VALUE</tt> elements, returns
* <tt>Integer.MAX_VALUE</tt>.
*
* @return the number of elements in this list
*/
int size();
这是因为在ArrayList
内部使用数组,理论上数组的Integer.MAX_VALUE
大小可以最大。如需更多信息,您可以查看此内容。
于 2013-07-03T14:22:24.727 回答
6
ArrayList 由数组支持,并且限制为数组的大小 - 即 Integer.MAX_VALUE。
但是,LinkedList 并没有以同样的方式受到限制,并且可以包含任意数量的元素。
最多见类似问题。Java中List的长度
一个列表最多可以容纳多少数据才能在列表的 最大大小上有其他方面
于 2013-07-03T14:20:12.490 回答
3
ArrayList 最多可以容纳任意数量的元素Integer.MAX_VALUE
- 这是由于设计决定使用int
数据类型作为索引。然而重要的是你如何为它分配内存——内存分配很慢——以及你如何处理/访问元素。但是,仅从存储方面来看,您会受到MAX_VALUE
. 在 Java 中,这是 2^31-1 = 2,147,483,647。
对于任何正常的应用程序,这应该足够了。然而,如果您需要更多,您可以轻松获取它的源代码并将其修改为long
用作索引数据类型 - 然后受限于Long.MAX_VALUE
.
于 2013-07-03T14:19:44.207 回答