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