JAVA8-Lambda- anyMatch&allMatch(检查流是否满足给定的条件)

一、anyMatch (检查流中是否至少包含一个满足条件的元素)

代码示例:

public static void main(String[] args) {
    ArrayList<Student> list = new ArrayList<>();
    list.add(new Student("张三", 19, "杭州"));
    list.add(new Student("王五", 19, "杭州"));
    list.add(new Student("李四", 19, "海口"));
  // 检查流中是否至少包含一个满足条件的元素
  boolean bool = list.stream().anyMatch(student -> student.getName().equals("张三"));
  System.out.println(bool);

示例说明:

当前list列表中含有三条记录,anyMatch(条件表达式)表示在这个list列表中至少有一条记录满足当前条件表达式。

结果:

练习建议:

将list中的张三更名试一试,输出结果为false,因为当前list中不包含名字搅张三的人。

二、allMatch(检查流是否都满足给定的条件元素)

代码示例:

    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student("张三", 19, "杭州"));
        list.add(new Student("王五", 19, "杭州"));
        list.add(new Student("李四", 19, "海口"));

        //检查流是否都满足给定的条件元素
        boolean match = list.stream().allMatch(student -> student.getAge() == 19);
        System.out.println(match);
    }

示例说明:

当前list列表中含有三条记录,allMatch(条件表达式)表示在这个list列表中是否所有记录都满足当前条件表达式。

结果:

练习建议:

将list中的任何一条记录的年龄改成不是19的数字试一试,输出结果为false,因为当前list中至少有一个人的年龄不满足当前条件表达式。

posted @ 2022-11-06 10:11  CodeLuckly  阅读(870)  评论(0编辑  收藏  举报