在 java中,将实体对象list 根据某和属性分组 分组后的每组的数量
时间: 2024-09-20 16:05:45 浏览: 40
在Java中,你可以使用`java.util.stream.Collectors` API 和 `Collectors.groupingBy()`方法来按某个属性对实体对象列表进行分组,并计算每个组的数量。假设我们有一个名为`Entity`的对象类,其中有一个`groupByAttribute`方法,我们可以这样做:
```java
import java.util.*;
import java.util.stream.Collectors;
class Entity {
private String attribute; // 假设这是你要分组的属性
// getters and setters...
@Override
public String toString() {
return "Entity{" +
"attribute='" + attribute + '\'' +
'}';
}
}
List<Entity> entityList = ... // 实体对象列表
Map<String, Long> groupedAndCounted = entityList.stream()
.collect(Collectors.groupingBy(Entity::getAttribute, Collectors.counting()));
// 现在groupedAndCounted是一个Map,键是属性值,值是该属性对应实体的数量
for (Map.Entry<String, Long> entry : groupedAndCounted.entrySet()) {
System.out.println("属性 '" + entry.getKey() + "' 对应的实体数量: " + entry.getValue());
}
```
阅读全文