更新时间:2022-02-18 09:11:59
您在正确的轨道上,但
Integer
数组比使用 int
数组更好一个通用的 Comparator< Integer>
。 Arrays.sort
Collections.sort
用于排序数组。匿名内部类。
Integer
array than an int
array if you're using a generic Comparator<Integer>
.Arrays.sort
instead Collections.sort
for sorting an array.You have to make the distances variable final if it's referenced in an anonymous inner class.
final double[] distances=new double[]{3.2, 1.4, 7.3, 2.2, 9.1};
Integer[] sortedIDXs = new Integer[]{0,1,2,3,4};
Arrays.sort(sortedIDXs, new Comparator<Integer>() {
public int compare(Integer idx1, Integer idx2) {
return Double.compare(distances[idx1], distances[idx2]);
}
});