removeIf
是 Java 集合框架中 List
接口的一個方法,它允許你根據某個條件自動移除列表中的元素。這個方法接收一個 Predicate
接口的實現作為參數,Predicate
是一個函數式接口,表示一個參數的布爾值函數,該函數可以被用作測試或匹配。
當你調用 removeIf
方法時,它會遍歷列表中的每個元素,并對每個元素執行提供的 Predicate
函數。如果 Predicate
返回 true
,則該元素會被從列表中移除。這個過程會一直持續到列表中沒有滿足條件的元素為止。
下面是一個簡單的示例,演示了如何使用 removeIf
方法從一個整數列表中移除所有的偶數:
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
public class RemoveIfExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
System.out.println("Before removeIf: " + numbers);
Predicate<Integer> isEven = n -> n % 2 == 0;
numbers.removeIf(isEven);
System.out.println("After removeIf: " + numbers);
}
}
輸出:
Before removeIf: [1, 2, 3, 4, 5]
After removeIf: [1, 3, 5]
在這個示例中,我們首先創建了一個包含整數的列表,然后使用 removeIf
方法和一個 lambda 表達式 isEven
來移除所有的偶數。最后,我們打印出移除元素之前和之后的列表,以便進行比較。