我经常不得不在 Java 中使用大型数组,不断测试 ~2B 元素限制。
有没有一种方便的方法来处理更大尺寸的数组?我需要的操作列表:
- 创建一个新数组;
- 设置/获取第i个元素;
- 通过分配一个更大的新数组并复制旧数组的内容来扩展数组;
- 将另一个数组(相当小 << 2B)的内容复制到该数组。
P.S. 看来这个问题已经被不少工程师思考过了。可以在以下位置找到带有引用的好文章:https://www.nayuki.io/page/large-arrays-proposal-for-java
最佳答案
我推荐fastutil图书馆。我主要将它用于节省空间的 Java 集合(在内部使用原始数组),但也有关于 Big data structures 的部分对于包含 > 2^31
元素的集合。
关于java - 在 Java 中处理超过 20 亿个元素的大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299960/