java8 stream 集合多个字段例子
时间: 2023-11-02 11:53:29 浏览: 108
可以给您举一个Java8 Stream集合多个字段的例子。假设我们有一个Person类,有name、age和city三个字段,我们希望通过Stream对List进行排序,优先按照city升序排序,city相同的再按照age降序排序。代码如下:
List<Person> persons = new ArrayList<>();
persons.add(new Person("Alice", 25, "New York"));
persons.add(new Person("Tom", 30, "Beijing"));
persons.add(new Person("Bob", 35, "New York"));
persons.add(new Person("Jack", 30, "Beijing"));
List<Person> sortedPersons = persons.stream()
.sorted(Comparator.comparing(Person::getCity)
.thenComparing(Comparator.comparing(Person::getAge).reversed()))
.collect(Collectors.toList());
这样就可以得到按照city升序和age降序排序后的List了。
阅读全文