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

Метод test класса Predicate

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

Синтаксис

boolean test(T t)

Пример

Давайте создадим предикат, который проверяет, что число больше 3, и протестируем его для нескольких значений:

import java.util.function.Predicate; public class Main { public static void main(String[] args) { Predicate<Integer> isGreaterThanThree = x -> x > 3; System.out.println(isGreaterThanThree.test(5)); System.out.println(isGreaterThanThree.test(2)); } }

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

true false

Пример

Давайте используем метод test вместе с методом filter для отбора строк, которые начинаются с буквы "a":

import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> list = List.of("abcde", "bcdef", "acdef", "cdefg"); Predicate<String> startsWithA = s -> s.startsWith("a"); List<String> res = list.stream() .filter(startsWithA) .collect(Collectors.toList()); System.out.println(res); } }

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

[abcde, acdef]

Пример

Давайте проверим, все ли элементы списка больше 0, используя метод test напрямую:

import java.util.List; import java.util.function.Predicate; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); Predicate<Integer> isPositive = x -> x > 0; boolean res = true; for (Integer num : list) { if (!isPositive.test(num)) { res = false; break; } } System.out.println(res); } }

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

true

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

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