大家好,這裡是路人甲Java,文末領取《2020版面試通關手冊》。
排序大家都經常用的吧,下面是個學生類,2 個欄位:id[學號],score[分數],
public class Stu {來個集合,放幾個學生進去
List stuList = new ArrayList<>();需求:score desc,id asc 對 stuList 中的學生信息進行排序,然後輸出結果,用 java 實現特別的簡單,2 行代碼搞定,如下:
stuList.stream().sorted(Comparator.comparing(Stu::getScore).reversed().thenComparing(Stu::getId)).forEach(System.out::println);輸出結果
Stu{id=3, score=50}是不是特別簡單,這裡使用到了 java 中的 stream 來操作的,stream 中有個 sorted 方法,需傳入比較器:Comparator,我們傳入的是:
Comparator.comparing(Stu::getScore).reversed().thenComparing(Stu::getId)。解釋一下代碼
Comparator.comparing(Stu::getScore) 得到score升序比較器這個案例搞懂了,那麼平時我們需要的各種排序,基本上都可以搞定了。
更多內容 文末領取《2020版面試通關手冊》4、文末掃碼領取《2020 版 java 面試通關手冊》下面給大家送上面試通關手冊,按分類都整理好了,查看特別的方便,便於快速突破自己薄弱的環節,拿下 offer(文末掃碼領取)
按分類都整理好了,便於查看,快速各個擊破
獲取方式:掃描下面二維碼,發送:通關