在Java中,我的程序有一部分需要在内存中处理吉格字节的int[]数组。它们已经排序,并且只包含自然数(例如1、2、3、4 ...直到n),它们代表文件行。数字n是文件中行数的数量,最大可以为100000。因此,这些数组仅仅是文件中所有行的子集。如您所预料的那样,有成千上万种这样的子集,其中一些可能很重要。对于这些子集中的数据分布(我们现在称之为数组),它完全是随机的:长数组可能有50000个数字,而小数组则可能只有1500个数字;每个数组都包含不可预测的序列,比如[3, 10, 11, 12, 13, 14, 15, 135, 136,...]或者[2, 3, 746, 7889, 7892, 80000,...]。
由于我有很多数组需要压缩/解压缩,因此我希望找到执行时间最快的解决方案。因此,开销应尽可能小。您会推荐哪个库?
由于我有很多数组需要压缩/解压缩,因此我希望找到执行时间最快的解决方案。因此,开销应尽可能小。您会推荐哪个库?
BitSet
最简单。 - Louis Wasserman