我目前对Tables / ArrayList / Collections有特殊需求。
实际上,我必须在表/ List / Collection中存储多达15 000 000(一千五百万)个自定义类的实例。
通用集合类和表似乎无法存储此数量的条目。实际上,我需要能够使用Long来处理表索引。
我进行了一些搜索,并找到了很多教程,向我展示了如何创建自定义集合。问题在于所有这些示例都具有相同的大小限制。
你知道我有什么方法可以创造这样的东西吗?
提前谢谢!
PS:对不起我的英文写作错误。
答案 0 :(得分:0)
List
最多可以存储Integer.MAX_VALUE = 2^31-1 > 2.10^9
元素。
只需存储所有1500万个元素而无需任何自定义。你应该试试。
答案 1 :(得分:0)
我认为你的问题不在列表中。正如其他人所提到的,每个ArrayList都可以存储这个数量的条目(以及更多)
如果您遇到问题,那么它就是您尝试存储在内存中的对象的大小。 (也许是列表的创建时间。)
如果你真的需要将它们存储在内存中(并且没有任何基本错误),请尝试最小化对象大小。不知道你的元素是什么,我无法帮助你。
如果你真的不需要它们在内存中,那么把它们放在一个文件中,也许是固定的行长,这样你就可以寻找(这真的很快!)到正确的位置。