4

有没有办法在java中获得一个比整数数据类型支持的长度更长的数组?

我正在寻找可以在 Java 中使用大整数进行索引的东西,因为本机支持的数组长度远没有我正在实现的算法所需的那么大。

4

3 回答 3

4

这个库应该对你有用:http: //fastutil.dsi.unimi.it/

它说:

“...还提供大型(64 位)数组...”

于 2013-01-19T17:08:17.797 回答
3

Int32 为您提供17 8 GB 的存储空间。你有这么大的记忆力吗?

我认为您应该使用稀疏数组,即通过哈希索引元素。例如,仅使用HashMap<BigInteger,YourValueType>或使用 BigMemory 等一些库和替代品http://terracotta.org/products/bigmemory

于 2013-01-19T17:08:15.353 回答
2

您确定不必更改算法吗?Integer.MAX等于2^31-1,即 2147483647,每个int有 4 个字节给我们:8589934588 字节的内存(8GB !!!)。

于 2013-01-19T17:07:39.090 回答