Stream allMatch() in Java with examples

Stream allMatch(Predicate predicate) returns whether all elements of this stream match the provided predicate. It may not evaluate the predicate on all elements if not necessary for determining the result. This is a short-circuiting terminal operation. A terminal operation is short-circuiting if, when presented with infinite input, it may terminate in finite time.
Syntax :

boolean allMatch(Predicate<? super T> predicate)

Where, T is the type of the input to the predicate
and the function returns true if either all elements
of the stream match the provided predicate or 
the stream is empty, otherwise false.

Note : If the stream is empty then true is returned and the predicate is not evaluated. Once any function is done using the stream it can’t be used again until it is re-initialize.

Example 1 : allMatch() function to check whether all elements are divisible by 3.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.*;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a list of Integers
    List<Integer> list = Arrays.asList(3, 4, 6, 12, 20);
      
    // Check if all elements of stream
    // are divisible by 3 or not using 
    // Stream allMatch(Predicate predicate)
    boolean answer = list.stream().allMatch(n-> n % 3 ==0);
      
    // Displaying the result
    System.out.println(answer);
}
}

chevron_right


Output :

false

Example 2 : allMatch() function to check whether strings have length greater than 2.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.stream.Stream;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a Stream of Strings
    Stream<String> stream = Stream.of("Geeks", "for"
                       "GeeksQuiz", "GeeksforGeeks");
          
    // Check if all elements of stream
    // have length greater than 2 using
    // Stream allMatch(Predicate predicate)
    boolean answer = stream.allMatch(str -> str.length() > 2);
      
    // Displaying the result
    System.out.println(answer);
}
}

chevron_right


Output :

true

Example 3 : allMatch() function to check whether all strings have UpperCase character at 1st index.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.stream.Stream;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a Stream of Strings
    Stream<String> stream = Stream.of("Geeks", "for"
                       "GeeksQuiz", "GeeksforGeeks");
          
    // Check if Character at 1st index is 
    // UpperCase in all strings or not using
    // Stream allMatch(Predicate predicate)
    boolean answer = stream.allMatch(str-> Character
                       .isUpperCase(str.charAt(1)));
      
    // Displaying the result
    System.out.println(answer);
}
}

chevron_right


Output :

false

Example 4 : Multiple function done using same stream

filter_none

edit
close

play_arrow

link
brightness_4
code

// In case we want multiple function to be done.
  
import java.util.stream.IntStream;
  
public class MultipleStreamFunction {
  
    public static void main(String[] args) {
  
        final String sample = "Om Sarve Bhavantu Sukhinah";
  
        // converting to Ascii
        IntStream intstreams = sample.chars();
  
        // All match to check if all Ascii value greater then 100
        boolean answer = intstreams.allMatch(c -> c > 100);
        System.out.println(answer);
  
        // Need to initialize the stream again
        // to avoid runtime exception
        intstreams = sample.chars();
        // All match to check if all Ascii value greater then 31
  
        answer = intstreams.allMatch(c -> c > 31);
        System.out.println(answer);
  
    }
}

chevron_right


Output :

false
true


My Personal Notes arrow_drop_up

In love with a semicolon because sometimes i miss it so badly)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : vineetkaushik