Java按两个字段分组实现方法
一、流程图
erDiagram
CUSTOMER ||--o| ORDER : has
ORDER ||--o| LINE-ITEM : has
二、步骤
步骤 | 操作 |
---|---|
1 | 首先定义一个包含两个字段的实体类,用于存储数据 |
2 | 从数据库中获取数据,将数据存入List中 |
3 | 使用Stream API对List进行分组操作 |
4 | 输出分组后的结果 |
三、代码实现
1. 创建实体类
public class User {
private String name;
private int age;
// 省略getter和setter方法
}
2. 获取数据并存入List
List<User> userList = new ArrayList<>();
// 假设从数据库中获取数据并添加到userList中
3. 使用Stream API分组
Map<String, Map<Integer, List<User>>> groupedMap = userList.stream()
.collect(Collectors.groupingBy(User::getName, Collectors.groupingBy(User::getAge)));
4. 输出结果
groupedMap.forEach((name, ageMap) -> {
ageMap.forEach((age, users) -> {
System.out.println("Name: " + name + ", Age: " + age + ", Users: " + users);
});
});
四、状态图
stateDiagram
[*] --> FetchData
FetchData --> GroupData
GroupData --> OutputResult
OutputResult --> [*]
通过以上步骤,你可以实现Java按两个字段分组的操作。希望能帮助到你,加油!