小编典典
[…]应该如何声明Java Comparator类以按其降序将数组的第一个元素排序 […]
这是使用Java 8的完整示例:
import java.util.*;
public class Test {
public static void main(String args[]) {
int[][] twoDim = { {1, 2}, {3, 7}, {8, 9}, {4, 2}, {5, 3} };
Arrays.sort(twoDim, Comparator.comparingInt(a -> a[0])
.reversed());
System.out.println(Arrays.deepToString(twoDim));
}
}
输出:
[[8, 9], [5, 3], [4, 2], [3, 7], [1, 2]]
对于Java 7,你可以执行以下操作:
Arrays.sort(twoDim, new Comparator() {
@Override
public int compare(int[] o1, int[] o2) {
return Integer.compare(o2[0], o1[0]);
}
});
如果你不幸无法在Java 6或更早版本上运行,请执行以下操作:
Arrays.sort(twoDim, new Comparator() {
@Override
public int compare(int[] o1, int[] o2) {
return ((Integer) o2[0]).compareTo(o1[0]);
}
});
2020-03-22