在Java中,Predicate是一個函數式接口,接收一個輸入參數并返回一個布爾值。它通常用于對集合中的元素進行過濾或篩選操作。Predicate接口包含一個抽象方法test,用于定義判斷條件。可以使用Predicate接口的實現來定義不同的過濾條件,并通過調用test方法來判斷輸入參數是否滿足條件。
例如,可以使用Predicate來過濾一個整數列表中的偶數元素:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Predicate<Integer> isEven = num -> num % 2 == 0;
List<Integer> evenNumbers = numbers.stream()
.filter(isEven)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 輸出 [2, 4, 6, 8, 10]
在上面的例子中,我們定義了一個Predicate實現isEven來判斷一個整數是否為偶數,然后使用filter方法篩選出列表中的偶數元素并將其收集到一個新的列表中。這樣就實現了對集合中元素的過濾操作。Predicate接口提供了很多方便的方法來實現復雜的過濾條件,可以靈活地應用在各種場景中。