以前在學校學排序的時候,總是自己寫排序的代碼,真正到工作中,直接使用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 });