What is the noneMatch() method of Stream Interface in Java?
The noneMatch method of Stream Interface can be used to check if no elements of the stream match/satisfy the provided
The noneMatch method is a short-circuiting terminal operation:
- It will return
trueif thestreamis empty. - Additionally, if an element matches the
Predicate, then thenoneMatchmethod will returnfalsewithout the application of thePredicatefunction on the remaining elements on the stream.
Syntax
boolean noneMatch(Predicate<? super T> predicate)
Argument
The noneMatch method takes a Predicate function as an argument.
Return value
The method returns true if all the elements in the stream don’t match the provided Predicate.
The method returns false if any one of the elements matches the provided Predicate.
Example
import java.util.ArrayList;class NoneMatchTest {public static void main( String args[] ) {ArrayList<Integer> numbers = new ArrayList<Integer>();numbers.add(1);numbers.add(2);numbers.add(3);System.out.println("The numbers list is " + numbers);boolean isPositiveList;isPositiveList = numbers.stream().noneMatch((number) -> number < 0 );System.out.println("All numbers on the List is positive - " + isPositiveList);numbers.add(-1);System.out.println("\nAdded. -1 to the numbers list now the list is - " + numbers);isPositiveList = numbers.stream().noneMatch((number) -> number < 0 );System.out.println("All numbers on the List is positive - " + isPositiveList);}}
In the code above, we have:
- Created an
ArrayListwith elements:
1,2,3
-
Used the
stream()function to get thestreamof theArrayListfrom theArrayList. -
Called the
noneMatchmethod with aPredicatefunction. In thePredicatefunction, we checked if the value is< 0. ThenoneMatchmethod will loop through all the elements of the stream and test each element against the passedPredicatefunction. In our case, no element matches thePredicatefunction, because all the elements in the list are> 0and no element is< 0. So,trueis returned from thenoneMatchmethod. -
Added
-1to theArrayList, and again called thenoneMatchmethod on theArrayList. Now, the list contains one element, which matches thePredicatefunction. In this case, thenoneMatchmethod will returnfalse.