阅读量:96
在Java中,Predicate是一个函数式接口,它接受一个输入参数并返回一个布尔值。Predicate通常用于过滤集合中的元素或进行条件判断。
常用方法包括:
-
test(T t):接受一个输入参数并返回一个布尔值,用于判断输入参数是否满足条件。
-
and(Predicate<? super T> other):返回一个逻辑与的Predicate,表示两个Predicate条件都满足。
-
or(Predicate<? super T> other):返回一个逻辑或的Predicate,表示两个Predicate条件中至少有一个满足。
-
negate():返回一个取反的Predicate。
示例代码:
Predicate isEven = num -> num % 2 == 0;
Predicate isPositive = num -> num > 0;
List numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用Predicate过滤集合中的元素
List evenNumbers = numbers.stream()
.filter(isEven)
.collect(Collectors.toList());
// 使用and方法组合两个Predicate
List evenAndPositiveNumbers = numbers.stream()
.filter(isEven.and(isPositive))
.collect(Collectors.toList());