java中的无界列表

时间:2012-11-01 00:10:34

标签: java

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

3 个答案:

答案 0 :(得分:6)

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

ArrayList可能在技术上限于2 ^ 31-1个值 - 或大约20亿个元素 - 但你将首先耗尽RAM。

答案 1 :(得分:0)

  

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

什么尺寸限制?

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

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

答案 2 :(得分:0)

请注意,Java中有许多Collection实现,完全取决于您的需求。例如,ArrayList没有有效的大小限制,因为在获得最大大小之前会出现OutOfMemoryError。 在决定之前结帐Collections page