可以使用Stream的allMatch()方法判断一个集合中的对象的指定元素是否全都相同。以下是一个示例代码:

import java.util.Arrays;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<Person> personList = Arrays.asList(
                new Person("Alice", 20),
                new Person("Bob", 30),
                new Person("Charlie", 20)
        );

        boolean allAgesAreEqual = personList.stream()
                .map(Person::getAge)
                .distinct()
                .count() <= 1;

        System.out.println("All ages are equal: " + allAgesAreEqual);
    }

    static class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }
    }
}

在上面的示例中,我们有一个包含三个Person对象的List。我们使用Stream的map()方法将每个Person对象的age属性映射为一个新的Stream。然后使用distinct()方法去除重复的元素,再使用count()方法统计剩余元素的个数。如果个数小于等于1,表示所有元素都相同,则返回true,否则返回false

Java8 中如何判断一个集合中的对象的指定元素全是一样的

原文地址: https://www.cveoy.top/t/topic/iug2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录