创建一个可以存储数百万条目的自定义集合

时间:2014-07-21 12:39:59

标签: java list collections size

我目前对Tables / ArrayList / Collections有特殊需求。

实际上,我必须在表/ List / Collection中存储多达15 000 000(一千五百万)个自定义类的实例。

通用集合类和表似乎无法存储此数量的条目。实际上,我需要能够使用Long来处理表索引。

我进行了一些搜索,并找到了很多教程,向我展示了如何创建自定义集合。问题在于所有这些示例都具有相同的大小限制。

你知道我有什么方法可以创造这样的东西吗?

提前谢谢!

PS:对不起我的英文写作错误。

2 个答案:

答案 0 :(得分:0)

List最多可以存储Integer.MAX_VALUE = 2^31-1 > 2.10^9元素。

只需存储所有1500万个元素而无需任何自定义。你应该试试。

答案 1 :(得分:0)

我认为你的问题不在列表中。正如其他人所提到的,每个ArrayList都可以存储这个数量的条目(以及更多)

如果您遇到问题,那么它就是您尝试存储在内存中的对象的大小。 (也许是列表的创建时间。)

如果你真的需要将它们存储在内存中(并且没有任何基本错误),请尝试最小化对象大小。不知道你的元素是什么,我无法帮助你。

如果你真的不需要它们在内存中,那么把它们放在一个文件中,也许是固定的行长,这样你就可以寻找(这真的很快!)到正确的位置。