我正在尝试通过使用小数点后两位对数字56,67,94,10进行排序。其实我没有得到返回1或-1的结果。
Collections.sort(arr, new Comparator<Integer>() {
public int compare(Integer t1, Integer t2) {
//System.out.print(" "+t1+" "+t2);
if (t1 % 10 > t2 % 10) {
return 1;
}
return -1;
}
});
答案 0 :(得分:1)
当该数字相等时,您需要返回零。
最简单的方法是将比较器的主体替换为:
return Integer.compare(t1 % 10, t2 % 10);
或者,更简单:
Collections.sort(arr, Comparator.comparing(t -> t % 10));