Java8新特性 - Stream - allMatch()、anyMatch()和noneMatch()方法详解

1.方法介绍

【方法签名】
    1.boolean anyMatch(Predicate<? super T> predicate);
    2.boolean allMatch(Predicate<? super T> predicate);
    3.boolean noneMatch(Predicate<? super T> predicate);

【方法属性】终结方法

【方法参数】函数式接口 Predicate,所以可以直接传入一个Lambda表达式

【方法作用】   
	1.boolean anyMatch : 任意一个元素满足条件,即返回true,否则返回false;
    2.boolean allMatch : 所有的元素都满足条件,才返回true,否则返回false;
    3.boolean noneMatch : 所有元素都不满足条件,才返回true,否则返回false;

【方法返回值】boolean 类型

2.案例代码

2.1 代码

package com.northcastle.I_stream;

import java.util.stream.Stream;

public class StreamTest10Match {
    
    
    public static void main(String[] args) {
    
    
        //0.准备一个数组
        String[] strs = {
    
    "aaa","bbb","ccc","ddddd","abcdefg"};
        // 1.判断所有元素是否都符合要求
        boolean aa = Stream.of(strs).allMatch(s -> s.startsWith("aa"));
        System.out.println("所有的元素都以 aa 开头 "+aa);
        //2.判断是否存在元素符合要求
        boolean aa1 = Stream.of(strs).anyMatch(s -> s.startsWith("aa"));
        System.out.println("存在某个元素以 aa 开头 "+aa1);
        //3.判断所有元素都不符合要求
        boolean aa2 = Stream.of(strs).noneMatch(s -> s.startsWith("aa"));
        System.out.println("所有的元素都不以 aa 开头 "+aa2);

    }
}

2.2 执行结果

在这里插入图片描述

3.完成

Congratulations!
You are one step closer to success!

猜你喜欢

转载自blog.csdn.net/qq_43842093/article/details/129784057
今日推荐