在 Java 中,在我的程序中的某个时刻,我必须int[]
在内存中处理千兆字节的数组。它们经过排序并且仅包含代表文件行的自然数字(如1, 2, 3, 4
, ..., up to )。n
Numbern
是文件中的行数,可以是最大值100000
。所以数组只是文件中一组所有行的子集。正如您可能计算的那样,有数百万个这样的子集,其中一些会很重要。至于这些子集中的数据分布(我们现在称它们为数组),它是完全随机的:即一个长数组可能是50000
数字,而一个小数组可能只有1500
数字;并且每个数组都包含不可预测的序列,因此它可以是[3, 10, 11, 12, 13, 14, 15, 135, 136, ...]
或[2, 3, 746, 7889, 7892, 80000,...]
。
由于我有很多要压缩/解压缩的数组,因此我想在每次执行所花费的时间方面找到最快的解决方案。因此开销应该尽可能小。
你会推荐什么图书馆?