Java Stream noneMatch()方法及示例
一个流是一个支持各种方法的对象序列,这些方法 可以通过管道产生所需的结果。如果不是确定结果所必需的,它可能不会在所有元素上评估该谓词。这是一个短路的终端操作 如果一个终端操作在面对无限的输入时,可以在有限的时间内结束,那么它就是短路的。
提示: 它的作用与 Stream anymatch()方法相反。
语法
boolean noneMatch(Predicate<? super T> predicate)
其中,T是谓词的输入类型,如果流中没有元素与所提供的谓词相匹配或流是空的,则该函数返回真,否则返回假。
注意: 如果流是空的,则返回true,而谓词不被评估。
现在我们将讨论几个例子,在这些例子中我们将涵盖不同的场景,同时通过干净的java程序实现流noneMatch()方法,如下所示。
- 检查是否有特定的自定义长度的字符串
- 检查是否有小于0的元素
- 检查是否有元素在必要的位置上有必要的字符。
例1: 检查是否有长度为4的字符串。
// Java Program to Illustrate noneMatch() method
// of Stream class to check whether
// no elements of this stream match the
// provided predicate (Predicate predicate)
// Importing Stream class from java.util.stream sub package
import java.util.stream.Stream;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating a Stream of strings
// Custom input strings are passed as arguments
Stream<String> stream
= Stream.of("CSE", "C++", "Java", "DS");
// Now using Stream noneMatch(Predicate predicate)
// and later storing the boolean answer as
boolean answer
= stream.noneMatch(str -> (str.length() == 4));
// Printing the boolean value on the console
System.out.println(answer);
}
}
输出
false
例2: 为了检查是否有小于0的元素。
// Java Program to Illustrate noneMatch() method
// of Stream class to check whether no elements
// of this stream match the provided predicate
// Importing required utility classes
import java.util.*;
// Main class
class GFG {
// amin driver method
public static void main(String[] args)
{
// Creating a list of Integers using asList() of
// Arrays class by declaring object of List
List<Integer> list = Arrays.asList(4, 0, 6, 2);
// Using Stream noneMatch(Predicate predicate) and
// storing the boolean value
boolean answer
= list.stream().noneMatch(num -> num < 0);
// Printing and displaying the above boolean value
System.out.println(answer);
}
}
输出
true
例3: 检查在所需的位置上是否有必要的字符的元素。
// Java Program to Illustrate noneMatch() method
// of Stream class to check whether no elements of
// this stream match the provided predicate
// Importing required classes
import java.util.stream.Stream;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating a Stream of Strings using of() method
// by creating object of Stream of string type
Stream<String> stream
= Stream.of("Geeks", "fOr", "GEEKSQUIZ",
"GeeksforGeeks", "CSe");
// Using Stream noneMatch(Predicate predicate)
// and storing the boolean value
boolean answer = stream.noneMatch(
str
-> Character.isUpperCase(str.charAt(1))
&& Character.isLowerCase(str.charAt(2))
&& str.charAt(0) == 'f');
// Printing the above boolean value on console
System.out.println(answer);
}
}
输出
false