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

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
//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));
添加回答
舉報(bào)
0/150
提交
取消