本文介绍: / 创建一个包含多个 Person 对象的 List。方法来对列表进行操作。要按照特定条件将元素分组,可以使用。// 按照 gender(性别)字段进行分组。在 Java 中,可以使用。

在 Java 中,可以使用 List 的 stream() 方法来对列表进行操作。要按照特定条件将元素分组,可以使用 Collectors.groupingBy() 方法。

下面是一个示例代码,展示了如何根据某个属性值将 List 中的元素分组:

import java.util.*;
import java.util.stream.Collectors;
 
public class Main {
    public static void main(String[] args) {
        // 创建一个包含多个 Person 对象的 List
        List<Person> personList = Arrays.asList(
                new Person(“Alice”, “Female”),
                new Person(“Bob”, “Male”),
                new Person(“Charlie”, “Male”),
                new Person(“Dave”, “Male”)
        );
        
        // 按照 gender(性别)字段进行分组
        Map<String, List<Person>> groupedPersons = personList.stream()
                .collect(Collectors.groupingBy(Person::getGender));
                
        // 输出结果
        for (Map.Entry<String, List<Person>> entry : groupedPersons.entrySet()) {
            System.out.println(“Group by Gender: ” + entry.getKey());
            
            for (Person person : entry.getValue()) {
                System.out.println(“t” + person);
            }
            
            System.out.println();
        }
    }
}
 
class Person {
    private String name;
    private String gender;
    
    public Person(String name, String gender) {
        this.name = name;
        this.gender = gender;
    }
    
    public String getName() { return name; }
    public String getGender() { return gender; }
    
    @Override
    public String toString() {
        return “Person{” +
                “name='” + name + ”’ +
                “, gender='” + gender + ”’ +
                ‘}’;
    }
}

运行上述代码会得到类似于以下输出:

Group by Gender: Male
    Person{name=’Bob’, gender=’Male’}
    Person{name=’Charlie’, gender=’Male’}
    Person{name=’Dave’, gender=’Male’}
 
Group by Gender: Female
    Person{name=’Alice’, gender=’Female’}

原文地址:https://blog.csdn.net/xiaofanren1111/article/details/135536155

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_56298.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注