What is the allMatch method of the Stream Interface?
The allMatch method of the Stream Interface can be used to check if all elements of the stream match/satisfy the provided
The allMatch method is a short-circuiting terminal operation.
- It will return
trueif the stream is empty. - If an element doesn’t match the predicate, then the
allMatchmethod will returnfalsewithout applying thePredicatefunction to the stream’s remaining elements.
Syntax
boolean allMatch(Predicate<? super T> predicate)
Parameters
The allMatch method takes a Predicate function as an argument.
Return value
-
true: If all the elements in the stream match the givenPredicate. -
false: If any one of the elements doesn’t match the providedPredicate.
Code
import java.util.ArrayList;class AllMatchTest {public static void main( String args[] ) {ArrayList<Integer> numbers = new ArrayList<>();numbers.add(1);numbers.add(2);numbers.add(3);System.out.println("The numbers list is " + numbers);boolean isPositiveList;isPositiveList = numbers.stream().allMatch((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().allMatch((number) -> number > 0 );System.out.println("All numbers on the List is positive - " + isPositiveList);}}
Explanation
In the code above, we:
- Created an ArrayList with the elements:
1,2,3
-
From the ArrayList, we use the
stream()function to get the stream of the ArrayList. -
Called the
allMatchmethod with aPredicatefunction. In thePredicatefunction, we check if the value is> 0. TheallMatchmethod will loop through all the elements of the stream and test each element against the passedPredicatefunction. In our case, all elements match thePredicatefunction because all the elements in the list are> 0. So,trueis returned from theallMatchmethod. -
Added -1 to the ArrayList, and called the
allMatchmethod on the ArrayList. Now, the list contains one element (-1) which doesn’t match thePredicatefunction. In this case, theallMatchmethod returnsfalse.