如何在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
提交
取消
