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

Интерфейс Predicate

Интерфейс Predicate из пакета java.util.function представляет собой функциональный интерфейс, который принимает один аргумент и возвращает логическое значение (boolean). Он часто используется для фильтрации элементов в streams, проверки условий и создания составных логических выражений. В параметр мы передаем значение типа T, а на выходе получаем результат типа boolean.

Синтаксис

@FunctionalInterface public interface Predicate<T> { boolean test(T t); }

Пример

Давайте создадим простой предикат, который проверяет, является ли число положительным:

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

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

true false

Пример

Давайте используем предикат для фильтрации списка чисел:

import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> numbers = List.of(1, 2, 3, 4, 5); Predicate<Integer> isEven = n -> n % 2 == 0; List<Integer> res = numbers.stream() .filter(isEven) .collect(Collectors.toList()); System.out.println(res); } }

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

[2, 4]

Пример

Давайте объединим два предиката с помощью метода and, чтобы проверить число на положительность и четность:

import java.util.function.Predicate; public class Main { public static void main(String[] args) { Predicate<Integer> isPositive = n -> n > 0; Predicate<Integer> isEven = n -> n % 2 == 0; Predicate<Integer> isPositiveAndEven = isPositive.and(isEven); System.out.println(isPositiveAndEven.test(4)); System.out.println(isPositiveAndEven.test(-2)); } }

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

true false

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

  • метод test,
    который проверяет значение по условию
  • метод and,
    который объединяет два предиката через логическое И
  • метод or,
    который объединяет два предиката через логическое ИЛИ
  • метод negate,
    который возвращает предикат с противоположным условием
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить