Java 根据list里面某个字段进行分组
时间: 2023-08-14 18:02:17 浏览: 116
关于Java中List对象的分页思想-按10个或者n个数对list进行分组
5星 · 资源好评率100%
可以使用Java 8的Stream API来根据list里面某个字段进行分组。
假设有一个实体类Person,其中有一个属性是age,我们要根据age进行分组:
```java
List<Person> persons = new ArrayList<>();
// 添加数据到persons中
Map<Integer, List<Person>> groupedPersons = persons.stream()
.collect(Collectors.groupingBy(Person::getAge));
```
上述代码中,将persons转换成Stream流后,使用Collectors.groupingBy()方法进行分组,其中参数是一个Function,用于指定按照哪个字段进行分组。在这里,使用Person::getAge表示按照age进行分组,最终返回一个Map<Integer, List<Person>>类型的结果,其中键是age,值是该age对应的Person列表。
注意:要使用Stream API,需要Java 8及以上版本。
阅读全文