当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。