當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Collection removeIf()用法及代碼示例

removeIf()Java Collection 的方法刪除調用集合中滿足給定條件的所有元素謂詞它作為參數傳遞給函數。如果謂詞是真的,然後它會從調用集合中刪除該項目,否則它將將該項目保留在集合中。

removeIf() 的語法

boolean removeIf(Predicate<? super E> filter);

參數:過濾器是一個predicate 定義刪除元素的條件。它根據標準評估項目並返回boolean 值。

返回類型: removeIf()方法返回一個boolean 值。它返回true 如果調用集合已刪除任何元素,則返回false.

removeIf() 方法的用法示例

在此示例中,我們的原始列表包含[1,2,3,4,5]現在我們要從調用集合中刪除所有奇數號碼。所以在removeIf()方法,我們可以編寫一個返回 a 的謂詞布爾值值。所以如果謂詞返回真的然後它會刪除調用集合中的項目,如果返回錯誤的然後它將該項目保留在集合中。

所以我們可以把條件寫成n%2!=0(如果是奇數),然後刪除該元素,即檢查每個元素是否為奇數。如果是奇怪的然後謂詞返回真的並且該元素將從調用集合中刪除。如果是甚至然後謂詞返回錯誤的並且該元素保留在調用集合中。

下麵是removeIf()方法的實現:

Java


// Java Program for demonstrating 
// removeIf() method 
import java.io.*; 
import java.util.ArrayList; 
import java.util.List; 
  
// Driver Class 
class GFG { 
    // main function 
    public static void main(String[] args) 
    { 
        List<Integer> list = new ArrayList<>(); 
  
        list.add(1); 
        list.add(2); 
        list.add(3); 
        list.add(4); 
        list.add(5); 
  
        // Print the original ArrayList 
        System.out.println("Original List :" + list); 
  
        // remove elements which are odd parity 
        list.removeIf(n -> n % 2 != 0); 
  
        // processed arraylist 
        System.out.println("List after removeIf() method :"
                           + list); 
    } 
}
輸出
Original List :[1, 2, 3, 4, 5]
List after removeIf() method :[2, 4]


示例 2:

在這個例子中,我們使用了removeIf()中的方法HashSet並刪除甚至整數。所以我們編寫了條件,以便刪除所有偶數。

Java


// Java Program for demonstrating  
// removeIf() method 
import java.util.HashSet; 
import java.util.function.Predicate; 
import java.io.*; 
  
// Driver Class 
class GFG { 
      // main function 
    public static void main (String[] args) { 
           HashSet<Integer> hs = new HashSet<Integer>(); 
              
            hs.add(1); 
            hs.add(2); 
            hs.add(3); 
            hs.add(4); 
            hs.add(5); 
  
              // Print the original ArrayList 
            System.out.println("Original Set :"+hs); 
              
            Predicate<Integer> even=n -> n % 2 == 0; 
             
              //remove elements which are odd parity 
            hs.removeIf(even); 
  
              //processed arraylist 
            System.out.println("List after removeIf() method :"+hs);     
    } 
} 
輸出
Original Set :[1, 2, 3, 4, 5]
List after removeIf() method :[1, 3, 5]




相關用法


注:本文由純淨天空篩選整理自saswatdas121大神的英文原創作品 Java Collection removeIf() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。