如何在Java中按两个字段排序?

如何在Java中按两个字段排序?

我有一系列的对象person (int age; String name;).

我如何按名称和年龄按字母顺序对这个数组进行排序?

你会用哪种算法来解决这个问题?


海绵宝宝撒
浏览 2896回答 3
3回答

慕雪6442864

使用Java 8流方法.。//Creates and sorts a stream (does not sort the original list)        persons.stream().sorted(Comparator.comparing(Person::getName).thenComparing(Person::getAge));Java 8 Lambda方法.。//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));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java