Метод anyMatch
Метод anyMatch класса Stream проверяет,
удовлетворяет ли хотя бы один элемент потока
заданному условию. В параметр метода мы передаем
функцию-предикат типа Predicate, которая
возвращает true или false для каждого
элемента. Метод возвращает true, если хотя бы
один элемент потока удовлетворяет условию,
и false в противном случае. Метод является
терминальной операцией и замыкает поток.
Синтаксис
stream.anyMatch(predicate)
Пример
Давайте проверим, есть ли в потоке хотя бы один
элемент, равный 3:
import java.util.List;
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Stream<Integer> stream = List.of(1, 2, 3, 4, 5).stream();
boolean res = stream.anyMatch(n -> n == 3);
System.out.println(res);
}
}
Результат выполнения кода:
true
Пример
Давайте проверим, есть ли в потоке хотя бы один
элемент, больший 10:
import java.util.List;
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Stream<Integer> stream = List.of(1, 2, 3, 4, 5).stream();
boolean res = stream.anyMatch(n -> n > 10);
System.out.println(res);
}
}
Результат выполнения кода:
false
Пример
Давайте проверим, начинается ли хотя бы одна
строка в потоке с буквы "a":
import java.util.List;
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Stream<String> stream = List.of("abcde", "12345", "xyz").stream();
boolean res = stream.anyMatch(s -> s.startsWith("a"));
System.out.println(res);
}
}
Результат выполнения кода:
true