Java Stream allMatch() Example

1. Introduction

This tutorial explores the allMatch() method of the Java Stream API. allMatch() is a terminal operation that checks whether all elements of the stream match a given predicate. It is commonly used for validations and ensuring all elements in a collection meet certain criteria.

Key Points

1. allMatch() checks if every element in the stream satisfies the provided predicate.

2. It returns a boolean value: true if all elements match the predicate; otherwise, it is false.

3. It is a short-circuiting operation, meaning it can terminate early if it finds any element that does not match the predicate.

2. Program Steps

1. Create a Stream of elements.

2. Apply allMatch() with a predicate to the Stream.

3. Print the result of the allMatch() operation.

3. Code Program

import java.util.stream.Stream;

public class StreamAllMatchExample {

    public static void main(String[] args) {
        // Stream of integers
        Stream<Integer> numberStream = Stream.of(2, 4, 6, 8, 10);

        // Check if all elements are even
        boolean allEven = numberStream.allMatch(num -> num % 2 == 0);
        System.out.println("All elements are even: " + allEven);

        // Stream of strings
        Stream<String> stringStream = Stream.of("React", "Angular", "Vue");

        // Check if all elements contain the letter 'e'
        boolean allContainE = stringStream.allMatch(str -> str.contains("e"));
        System.out.println("All elements contain 'e': " + allContainE);
    }
}

Output:

All elements are even: true
All elements contain 'e': false

Explanation:

1. Stream.of(2, 4, 6, 8, 10) creates a stream of integers.

2. numberStream.allMatch(num -> num % 2 == 0) checks if all numbers are even by applying a modulus operation. Since all numbers in the stream are even, it returns true.

3. Stream.of("React", "Angular", "Vue") creates a stream of popular JavaScript frameworks.

4. stringStream.allMatch(str -> str.contains("e")) checks if all strings contain the letter 'e'. Since 'Vue' does not contain 'e', it returns false.

Comments