正如@afsantos所说,由于Java数组的限制,
ArrayList该类固有地限于
Integer.MAX_VALUE条目。
linkedList没有此限制,但是(尽管如此)昂贵:
与基于数组表示形式的一个引用相比,每个条目都会产生2个引用加上对象标头大小的内存开销。
O(N)
与O(1)
基于数组的列表相比,索引是一项操作。
这是指向Java库的链接,该库使用直接映射的内存和/或元素的编码来支持 大量 的内存中集合:
- http://pre.google.com/p/vanilla-java/wiki/HugeCollections
那里可能还有其他选择。
还可以设想常规数组列表的“大”变体,它使用数组的数组而不是单个数组。但是,如果您允许插入列表的中间,那么实现
O(1)查找将变得困难/昂贵。(这可能就是为什么我无法在Google上找到示例的原因…)



