Java Stream anyMatch() Example

1. Introduction

This tutorial explains how to use the anyMatch() method in the Java Stream API. anyMatch() is a terminal operation that checks if any elements of the stream match a given predicate. It is useful for quickly checking the presence of a condition in a stream of elements.

Key Points

1. anyMatch() checks if at least one element in the stream satisfies the provided predicate.

2. It returns a boolean value: true if at least one element matches; otherwise, it is false.

3. It is a short-circuiting operation, which means it stops processing as soon as a match is found.

2. Program Steps

1. Create a Stream of elements.

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

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

3. Code Program

import java.util.stream.Stream;

public class StreamAnyMatchExample {

    public static void main(String[] args) {
        // Stream of integers
        Stream<Integer> numberStream = Stream.of(1, 3, 5, 7, 8);

        // Check if any element is even
        boolean anyEven = numberStream.anyMatch(num -> num % 2 == 0);
        System.out.println("Any element is even: " + anyEven);

        // Stream of strings
        Stream<String> stringStream = Stream.of("Java", "Kotlin", "Scala");

        // Check if any element contains 'a'
        boolean anyContainA = stringStream.anyMatch(str -> str.contains("a"));
        System.out.println("Any element contains 'a': " + anyContainA);
    }
}

Output:

Any element is even: true
Any element contains 'a': true

Explanation:

1. Stream.of(1, 3, 5, 7, 8) creates a stream of integers.

2. numberStream.anyMatch(num -> num % 2 == 0) checks if there is any even number in the stream. Since 8 is even, it returns true.

3. Stream.of("Java", "Kotlin", "Scala") creates a stream of programming languages.

4. stringStream.anyMatch(str -> str.contains("a")) checks if any strings contain the letter 'a'. Since 'Java', 'Kotlin', and 'Scala' all contain 'a', it returns true.

Comments