Java Stream noneMatch(谓词谓词)是一种短路终端操作,用于检查流中是否没有元素与提供的predicate匹配。
1. Stream noneMatch() method
1.1. Syntaxboolean noneMatch(Predicate super T> predicate)
这里的predicate是一个无干扰的,无状态的谓词,适用于流的元素。
1.2. Description这是短路terminal操作。
它返回流中是否没有元素与提供的谓词匹配。
如果不需要确定结果,则可能不会对所有元素都评估谓词。 如果没有流元素与给定谓词匹配,则方法返回false ,否则方法返回false 。
如果流为空,则返回true ,并且不评估谓词。
它与Stream.allMatch()方法几乎相反。
2. Stream noneMatch() example
Stream.noneMatch()方法的Java示例,以检查是否没有流元素包含任何数字/数字字符。import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Stream stream = Stream.of("one", "two", "three", "four");
boolean match = stream.noneMatch( s -> s.contains("\\d+") );
System.out.println(match);//true
}
}
Program output.true
3. Conclusion
在某些情况下,我们需要对所有流元素进行检查时, Stream.noneMatch()方法可能会很有用。 例如,我们可以在员工对象流上使用Java Stream noneMatch()函数来验证所有员工Java Stream noneMatch()低于特定年龄。
这是short-circuiting操作。 如果出现无限输入时,端子操作可能会在有限时间内终止,则该端子操作会发生短路。
Reference :