Java(可能是底层的C-ish代码)在java.util中的数组和容器的最大容量为Integer.MAX_VALUE(约20亿)。是否有其他语言的容量更大的容器?
答案 0 :(得分:13)
您不需要语言,您需要数据库。
答案 1 :(得分:2)
您可以使用支持long
索引的两种语言编写自己的容器。
答案 2 :(得分:2)
如果您开始达到与可以存储在列表/数组/集合中的元素数量相关的32位数限制,那么我会认真开始寻找实现算法的新方法。
你将会有很多“我们需要这种专用硬件来执行我们的程序”类型的要求。
答案 3 :(得分:2)
C ++中的STL容器使用size_t索引,这些索引在64位计算机上为64位。
答案 4 :(得分:1)
你有一台有足够RAM的机器可以使用更多吗? O_o如果你这样做,我会说你需要自己的收藏品,因为内置产品的性能会令人怀疑......
答案 5 :(得分:0)
如果您自己编写容器,则没有限制。
答案 6 :(得分:0)
我通常使用数据库来存储大量数据。通过缩放解决了很多问题。
答案 7 :(得分:0)
对象数据库可能更适合您的目的。
例如,db4o。
或者,对于固定大小对象的数组,可能值得尝试使用内存映射文件,但是您需要一个OS API的语言接口。
编辑:或者只是使用ORM将您的集合映射到标准SQL数据库。这些存在于大多数语言中。例如,ruby有activerecord,Java有休眠。
答案 8 :(得分:0)
没有人想要同时处理内存中如此大量的数据。我不知道你要做什么,但如果你需要最大化驻留数据量,你必须考虑到:
嗯,有很多东西要研究,但只是我的2c。