阅读量:0
在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());