Java ArrayList removeIf() 方法



描述

Java ArrayList removeIf(Predicate<? super E> filter) 方法检索并删除此 ArrayList 中满足给定谓词的所有元素。如果出现异常,则将异常转发给调用方。

声明

以下是 java.util.ArrayList.removeIf(filter) 方法的声明

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

参数

  • filter − 一个谓词,对于要删除的元素返回 true。

返回值

如果删除了任何元素,则返回 true。

异常

NullPointerException − 如果指定的过滤器为 null

基于条件从整数 ArrayList 中删除元素的示例

以下示例演示了 Java ArrayList removeIf(filter) 方法的用法。我们创建了一个整数 ArrayList,添加了一些元素,打印它,然后使用 removeIf(filter) 方法删除偶数。由于 ArrayList 已被修改,因此打印它以检查是否已删除偶数。

package com.tutorialspoint;

import java.util.ArrayList;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<Integer> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(1);
      arrayList.add(2);
      arrayList.add(3);
      arrayList.add(4);
      arrayList.add(5);

      // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will remove even numbers from the arrayList
      arrayList.removeIf(i -> i%2 == 0);
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   }
}   

输出

让我们编译并运行上述程序,这将产生以下结果:

ArrayList = [1, 2, 3, 4, 5]
ArrayList = [1, 3, 5]

基于条件从字符串 ArrayList 中删除元素的示例

以下示例演示了 Java ArrayList removeIf(filter) 方法的用法。我们创建了一个字符串 ArrayList,添加了一些元素,打印它,然后使用 removeIf(filter) 方法删除偶数。由于 ArrayList 已被修改,因此打印它以检查是否已删除偶数。

package com.tutorialspoint;

import java.util.ArrayList;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<String> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add("A");
      arrayList.add("BB");
      arrayList.add("C");
      arrayList.add("DD");
	  arrayList.add("E");

      // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will remove single length string
      arrayList.removeIf(i -> i.length() == 1);
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   }
}   

输出

让我们编译并运行上述程序,这将产生以下结果:

ArrayList = [A, BB, C, DD, E]
ArrayList = [BB, DD]

基于条件从对象 ArrayList 中删除元素的示例

以下示例演示了 Java ArrayList removeIf(filter) 方法的用法。我们创建了一个 Student 对象的 ArrayList,添加了一些元素,打印它,然后使用 removeIf(filter) 方法删除偶数。由于 ArrayList 已被修改,因此打印它以检查是否已删除偶数。

package com.tutorialspoint;

import java.util.ArrayList;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<Student> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(new Student(1, "Julie"));
      arrayList.add(new Student(2, "Robert"));
      arrayList.add(new Student(3, "Adam"));
      arrayList.add(new Student(4, "Jene"));
      arrayList.add(new Student(5, "Jacob"));
	  
	  // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will remove if roll no is 2
      arrayList .removeIf(i -> i.rollNo == 2);
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}   

输出

让我们编译并运行上述程序,这将产生以下结果:

ArrayList = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 4, Jene ], [ 5, Jacob ]]
ArrayList = [[ 1, Julie ], [ 3, Adam ], [ 4, Jene ], [ 5, Jacob ]]
java_util_arraylist.htm
广告