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

Метод and

Метод and класса Predicate используется для объединения двух предикатов в один. Он возвращает новый предикат, который возвращает true только в том случае, если оба исходных предиката вернули true. В первый параметр мы передаем предикат, который будет проверяться вторым, а сам метод вызывается на первом предикате. Если первый предикат вернул false, то второй уже не проверяется.

Синтаксис

predicate1.and(predicate2)

Пример

Давайте объединим два условия: число должно быть больше 5 и меньше 15:

import java.util.function.Predicate; public class Main { public static void main(String[] args) { Predicate<Integer> greaterThanFive = num -> num > 5; Predicate<Integer> lessThanFifteen = num -> num < 15; Predicate<Integer> combined = greaterThanFive.and(lessThanFifteen); System.out.println(combined.test(10)); System.out.println(combined.test(20)); } }

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

true false

Пример

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

import java.util.List; import java.util.function.Predicate; public class Main { public static void main(String[] args) { List<Integer> numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Predicate<Integer> greaterThanThree = num -> num > 3; Predicate<Integer> lessThanEight = num -> num < 8; List<Integer> res = numbers.stream() .filter(greaterThanThree.and(lessThanEight)) .toList(); System.out.println(res); } }

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

[4, 5, 6, 7]

Пример

Давайте объединим проверку строки на длину и начинание с определенного символа:

import java.util.function.Predicate; public class Main { public static void main(String[] args) { Predicate<String> lengthCheck = str -> str.length() == 5; Predicate<String> startsWithA = str -> str.startsWith("a"); Predicate<String> combined = lengthCheck.and(startsWithA); System.out.println(combined.test("abcde")); System.out.println(combined.test("abc")); } }

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

true false

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

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