以前在学校学排序的时候,总是自己写排序的代码,真正到工作中,直接使用java提供的排序方法,但最近发现行业默认的和学习时有些不一样。
以前总是在进行排序时如果前边的数字和后边数字的差为负则交换两个数字的位置,而查看java工具类代码发现,正好相反。
代码显示,当前变的数值与后边的数值差为正数时,则交换两数字位置。
也就是说,当你想要按升序排列时,需要用前边的数减去后边的数,而想要进行降序排列时,用后边的数字减去前边的数字。
下边的代码为把用户按年龄进行升序排列。
1 Collections.sort(list, new Comparator<User>() {
2 @Override
3 public int compare(User n1, User n2) {
4 return n1.getAge() - n2.getAge();
5 }
6 });
本文来源于互联网:Java排序之升序与降序