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


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


ArrayList的removeIf()方法用於刪除滿足給定謂詞過濾器(作為參數傳遞給該方法)的ArrayList的所有元素。

錯誤或運行時異常在迭代過程中或謂詞引發,並傳遞給調用方。如果我們能夠刪除某些元素,則此方法返回True。

Java 8具有重要的in-built函數接口,即謂詞。謂詞(或條件檢查函數)檢查給定條件的給定輸入,並返回相同結果的布爾結果,指示是否滿足條件。


Java 8謂詞示例。

用法:

public boolean removeIf(Predicate filter)

參數:此方法采用表示謂詞的參數過濾器,該謂詞對於要刪除的元素返回true。

返回值:如果謂詞返回true,則此方法返回True,並且我們能夠刪除元素。

異常:如果指定的過濾器為null,則此方法將引發NullPointerException。

以下示例程序旨在說明ArrayList的removeIf()方法:

示例1:在ArrayList上演示removeIf()方法的程序,該方法包含一組數字,並且僅會被3整除的數字將被刪除。

// Java Program Demonstrate removeIf() 
// method of ArrayList 
  
import java.util.*; 
public class GFG { 
  
    public static void main(String[] args) 
    { 
  
        // create an ArrayList which going to 
        // contains a list of Numbers 
        ArrayList<Integer> Numbers = new ArrayList<Integer>(); 
  
        // Add Number to list 
        Numbers.add(23); 
        Numbers.add(32); 
        Numbers.add(45); 
        Numbers.add(63); 
  
        // apply removeIf() method 
        // we are going to remove numbers divisible by 3 
        Numbers.removeIf(n -> (n % 3 == 0)); 
  
        // print list 
        for (int i : Numbers) { 
            System.out.println(i); 
        } 
    } 
}
輸出:
23
32

示例2:在ArrayList上演示removeIf()方法的程序將被刪除,該方法包含一組學生姓名,並且名稱以“S”開頭。

// Java Program Demonstrate removeIf() 
// method of ArrayList 
  
import java.util.*; 
public class GFG { 
  
    public static void main(String[] args) 
    { 
        // create an ArrayList which going to 
        // contains a list of Student names which is actually 
        // string values 
        ArrayList<String> students = new ArrayList<String>(); 
  
        // Add Strings to list 
        // each string represents student name 
        students.add("Ram"); 
        students.add("Mohan"); 
        students.add("Sohan"); 
        students.add("Rabi"); 
        students.add("Shabbir"); 
  
        // apply removeIf() method 
        // we are going to remove names 
        // start with S 
        students.removeIf(n -> (n.charAt(0) == 'S')); 
  
        System.out.println("Students name Does not start with S"); 
        // print list 
        for (String str : students) { 
            System.out.println(str); 
        } 
    } 
}
輸出:
Students name Does not start with S
Ram
Mohan
Rabi

參考: https://docs.oracle.com/javase/10/docs/api/java/util/ArrayList.html#removeIf(java.util.function.Predicate)



相關用法


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