在Java中,Predicate是一個函數式接口,它接受一個輸入參數并返回一個布爾值。Predicate通常用于過濾集合中的元素或進行條件判斷。
常用方法包括:
test(T t):接受一個輸入參數并返回一個布爾值,用于判斷輸入參數是否滿足條件。
and(Predicate<? super T> other):返回一個邏輯與的Predicate,表示兩個Predicate條件都滿足。
or(Predicate<? super T> other):返回一個邏輯或的Predicate,表示兩個Predicate條件中至少有一個滿足。
negate():返回一個取反的Predicate。
示例代碼:
Predicate<Integer> isEven = num -> num % 2 == 0;
Predicate<Integer> isPositive = num -> num > 0;
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用Predicate過濾集合中的元素
List<Integer> evenNumbers = numbers.stream()
.filter(isEven)
.collect(Collectors.toList());
// 使用and方法組合兩個Predicate
List<Integer> evenAndPositiveNumbers = numbers.stream()
.filter(isEven.and(isPositive))
.collect(Collectors.toList());