РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
488 of 1163 menu

Метод noneMatch

Метод noneMatch класса Stream проверяет, что ни один элемент потока не удовлетворяет заданному условию. В качестве параметра метод принимает функциональный интерфейс Predicate, который задаёт проверяемое условие. Если ни один элемент потока не прошёл проверку - метод возвращает true, иначе - false. Это терминальная операция, то есть она запускает обработку потока и возвращает результат типа boolean.

Метод работает по принципу короткого замыкания: как только находится первый элемент, удовлетворяющий условию, дальнейшая обработка потока прекращается и сразу возвращается false. Если поток пуст, метод всегда возвращает true.

Синтаксис

stream.noneMatch(predicate)

Пример

Давайте проверим, что в потоке нет чисел, больших 5:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); boolean res = stream.noneMatch(n -> n > 5); System.out.println(res); } }

Результат выполнения кода:

true

Пример

А теперь проверим, что в потоке нет чисел, больших 3. Так как число 4 и 5 удовлетворяют условию, метод вернёт false:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); boolean res = stream.noneMatch(n -> n > 3); System.out.println(res); } }

Результат выполнения кода:

false

Пример

Давайте проверим, что ни одна строка в потоке не начинается с буквы "x":

import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("abcde", "12345", "hello"); boolean res = list.stream() .noneMatch(s -> s.startsWith("x")); System.out.println(res); } }

Результат выполнения кода:

true

Пример

Проверим поведение метода на пустом потоке. Для пустого потока метод всегда возвращает true:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.empty(); boolean res = stream.noneMatch(n -> n > 0); System.out.println(res); } }

Результат выполнения кода:

true

Пример

Проверим, что все числа в потоке чётные, используя обратное условие с noneMatch:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(2, 4, 6, 8); boolean res = stream.noneMatch(n -> n % 2 != 0); System.out.println(res); } }

Результат выполнения кода:

true

Смотрите также

  • метод anyMatch,
    который проверяет, что хотя бы один элемент удовлетворяет условию
  • метод allMatch,
    который проверяет, что все элементы удовлетворяют условию
  • метод filter,
    который отбирает элементы по условию
  • интерфейс Predicate,
    который представляет условие проверки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить