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回答

好帮手慕小班

2021-05-26

同学你好,将返回值取反就实现降序排序。

    name1.compareTo(name2)返回n,表示如果两个字符串的比较结果大于0,就把前一个自字符串和后一个字符串交换,也就是把大的字符串放后面了,即所谓的升序了!

    如果对返回值取反的话就是两个字符串结果小于0,就把前一个自字符串和后一个字符串交换,也就是把小的字符串放后面了,就成了降序了。

所以建议同学当需要降序排列时,可以写为name2.compareTo(name1),这样更便于理解以及调用。

​祝学习愉快!

0

0 学习 · 16556 问题

查看课程