java - 在 Java 中处理超过 20 亿个元素的大数组

标签 java arrays bigdata limit

我经常不得不在 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/

相关文章:

c - 检查升序数组中有多少个系列的函数的算法是什么。并检测c中最长的系列

apache-spark - spark-mapwithstate 为什么存储空间的数量还是20个?

python - 在 python pandas 中迭代非常大的数据帧效率太耗时

java - Tomcat 8编辑文件后需要重启

java - 多个项目从本地文件检索凭据

c - C 中整数行的结尾

excel - Countif on sheet with 700k rows freezes program

java - 保护字段免受反射 - System.security 的奇怪案例

java - MouseListener 更改和 mouselistener 类

php - 分组输出多维数组