Java集合排序中,降序为什么要写成“int n=name2.compareTo(name1);”,写成"return -n;"看上去不是更简单?
来源:3-3 案例:对宠物猫按名字进行排序
童真模式启动
2021-05-25 22:19:31
String name1=o1.getName();
String name2=o2.getName();
int n=name1.compareTo(name2);
return n;
1回答
同学你好,将返回值取反就实现降序排序。
name1.compareTo(name2)返回n,表示如果两个字符串的比较结果大于0,就把前一个自字符串和后一个字符串交换,也就是把大的字符串放后面了,即所谓的升序了!
如果对返回值取反的话就是两个字符串结果小于0,就把前一个自字符串和后一个字符串交换,也就是把小的字符串放后面了,就成了降序了。
所以建议同学当需要降序排列时,可以写为name2.compareTo(name1),这样更便于理解以及调用。
祝学习愉快!
相似问题