假设有如下内部类:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter & setter
}
要按照年龄分组,可以使用 Java 8 的 Stream API:
List persons = Arrays.asList(
new Person("Alice", 20),
new Person("Bob", 30),
new Person("Charlie", 20),
new Person("David", 25));
Map> result = persons.stream()
.collect(Collectors.groupingBy(Person::getAge));
上述代码中,使用 Collectors.groupingBy
方法进行分组,其中的参数 Person::getAge
表示按照 age
属性进行分组。返回的是一个 Map
,其中键为年龄,值为该年龄下的所有人。
上一篇:按内部对象字段查询