Java Arrays.sort(test)对两个数组进行排序

Baw*_*awn 1 java arrays sorting

我在Java中发起了一个与另一个数组相同的数组.我这样做是因为我只想对数组的副本进行排序而不是原始副本.这很好用新数组填充原始值.当我对数组进行排序时,就会出现问题.原件也被排序.所以我原来的也是排序的.如何更正此问题,以便只对数组的副本进行排序.

double[] distancesSort = distances;
Arrays.sort(distancesSort);
Run Code Online (Sandbox Code Playgroud)

AJ.*_*AJ. 14

= 不用于将一个数组的元素复制到另一个数组中.

使用

double[] distancesSort = Arrays.copyOf(distances,distances.length);

Arrays.copyOf(double[] arr, int length)

使用零复制指定的数组,截断或填充(如有必要),以使副本具有指定的长度.对于在原始数组和副本中都有效的所有索引,这两个数组将包含相同的值.对于在副本中有效而不是原始副本的任何索引,副本将包含0L.当且仅当指定的长度大于原始数组的长度时,这些索引才会存在.

参数:

arr - 要复制的数组
长度 - 要返回的副本的长度

返回:

原始数组的副本,用零截断或填充以获得指定的长度

如果你使用=那么distancesSort将参考distances.任何变化都distancesSort将反映出变化distances.