【发布时间】:2018-05-11 20:39:40
【问题描述】:
我经常不得不使用 Java 中的大型数组,不断测试 ~2B 元素的限制。
有没有一种方便的方法来处理更大尺寸的数组?我需要的操作列表:
- 创建一个新数组;
- 设置/获取第i个元素;
- 通过分配一个更大的新数组并复制旧数组的内容来扩展数组;
- 将另一个数组(相当小的
P.S. 看来这个问题已经被很多工程师考虑过了。可以在以下位置找到带有参考的好文章:https://www.nayuki.io/page/large-arrays-proposal-for-java
【问题讨论】:
-
您可以尝试使用 2D 数组,例如 int[2][1B] 而不是 int[2B] 或使用
List -
试试 fastutil 库。
-
@Hitobat 感谢您的参考。这正是我想要的!
-
@Hitobat 将我的代码移植到 fastutil 库,它的工作原理就像一个魅力!我希望您将您的评论转化为答案。
-
我已经按照@DenisKulagin 的要求转换了评论,谢谢。