Java语言sort函数按照数字的逆序数(123的逆序数是321)从小到大排序,怎么实现的

Java语言sort函数按照数字的逆序数(123的逆序数是321)从小到大排序,怎么实现的

Java 的 Collections 的 sort 函数是需要指定一个比较器,告诉它怎么进行比较的。
可以自定义一个比较器用降序就可以了。

list.sort(new Comparator() {
@Override
public int compare(Demo2 o1, Demo2 o2) {
int o1Value = getValue(o1.value);
int o2Value = getValue(o2.value);
return o1Value - o2Value;
}
int getValue(int value){
if(value > -10 && value < 10){
return value;
}
String temp = Math.abs(value) + "";
char[] chars = temp.toCharArray();
temp = "";
for(int i = chars.length - 1; i >= 0; i--){
temp += chars[i];
}
return value < 0 ? 0 - Integer.parseInt(temp) : Integer.parseInt(temp);
}
}); Demo2换成你自己的对象