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


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