有没有办法在java中获取一个比整数数据类型支持的长度更长的数组?
我正在寻找可以使用Java中的大整数进行索引的东西,因为本机支持的数组长度远不如我所需要的那样大。我正在实现的算法。
答案 0 :(得分:4)
答案 1 :(得分:3)
Int32为您提供 17 8千兆字节的存储空间。你有这么多记忆吗?
我认为你应该使用稀疏数组,即通过散列索引元素。例如,仅使用HashMap<BigInteger,YourValueType>
或使用某些库,例如BigMemory和替代http://terracotta.org/products/bigmemory
答案 2 :(得分:2)
您确定不必更改算法吗? Integer.MAX
等于2^31-1
,即2147483647,每个int
有4个字节给出了我们:8589934588字节的内存(8GB !!!)。