1

Java中除了链表之外还有无界列表吗?我必须将 BLOB 对象存储在列表中。我目前正在使用 arrayList,但我担心当列表大小增加时,arraylist 可能无法存储(可能达到最大容量)。我想过使用链表,但它看起来效率不高。

4

3 回答 3

6

ArrayList没有任何大小限制——它会扩大到适合您添加到其中的元素的大小。

ArrayList可能在技术上限制为 2^31-1 个值 - 或大约 20 亿个元素 - 但您首先会用完 RAM。

于 2012-11-01T00:14:04.307 回答
0

请注意,Java 中有数十种 Collection 实现,完全取决于您的需求。例如,ArrayList 没有有效的大小限制,因为在达到最大大小之前您将遇到 OutOfMemoryError。在决定之前结帐集合页面。

于 2012-11-01T00:22:55.717 回答
0

当列表的大小增加时,arraylist 可能无法存储(因为它的大小限制)。

什么尺寸限制?

List<Blob> blobs = new ArrayList<Blob>();

您只受到可以分配给 JVM 的内存量的限制,或者正如 yshavit 在下面正确指出的那样,索引的最大整数值。

于 2012-11-01T00:14:12.727 回答