如何在Java中按兩個字段排序?我有一系列的對象person (int age; String name;).我如何按名稱和年齡按字母順序對這個數組進行排序?你會用哪種算法來解決這個問題?
3 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
//Creates and sorts a stream (does not sort the original list) persons.stream().sorted(Comparator.comparing(Person::getName).thenComparing(Person::getAge));
//Sorts the original list Lambda stylepersons.sort((p1, p2) -> { if (p1.getName().compareTo(p2.getName()) == 0) { return p1.getAge().compareTo(p2.getAge()); } else { return p1.getName().compareTo(p2.getName()); } });
//This is similar SYNTAX to the Streams above, but it sorts the original list!! persons.sort(Comparator.comparing(Person::getName).thenComparing(Person::getAge));
添加回答
舉報
0/150
提交
取消