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按两个字段分组的操作。希望能帮助到你,加油!