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!