我试图找出如何压缩array
的{{1}},当我用Google搜索时,它似乎只能在内存中压缩数组的大小。
我想压缩数组的实际值,所以基本上减少了数组的长度,并且值的范围保持不变。
我的意思是难以解释,这是一个例子:
值为doubles
的数组
压缩2倍将成为
{1, 2, 3, 4, 5, 6, 7, 8}
和
压缩因子0f 0.5将成为
double[] {0.0, 2.0, 4.0, 8.0}
对不起,如果这是重复的,我做了研究,没有发现任何相关内容。
感谢。
答案 0 :(得分:1)
如果你想在java中创建一个这样做的方法,我有一个建议......
double[] compressDoubleArray(double[] orgArray, double compFactor){
Arrays.sort(orgArray);
double maxValue = orgArray[orgArray.length - 1];
double minValue = orgArray[0];
int i = 0;
double[] newArray = new double[orgArray.length/compFactor];
while(minValue <= maxValue){
newArray[i] = minValue;
minValue += compFactor;
i++;
}
return newArray;
}
请记住,这只是我扔在一起的一些代码,你可能需要做一些工作才能获得理想的效果。