removeIf() 方法,结合 Lambda 表达式

在 Java 8 中,removeIf() 方法是 Collection 接口新增的一个默认方法,用于根据条件批量删除集合中的元素。结合 Lambda 表达式,可以以极简的语法实现复杂的过滤逻辑。以下是详细说明:


1. 方法定义与语法

// java.util.Collection 接口中的定义
default boolean removeIf(Predicate<? super E> filter) {
   
    Objects.requireNonNull(filter);
    boolean removed = false;
    final Iterator<E> each = iterator();
    while (each.hasNext()) {
   
        if (filter.test(each.next())) {
   
            each.remove();
            removed = true;
        }
    }
    return removed;
}
  • 参数Predicate filter
    一个返回布尔值的函数式接口,用于判断元素是否应被删除。
  • 返回值boolean
    如果至少删除了一个元素,返回 true;否则返回 false

2. 使用 Lambda 表达式实现条件过滤

Lambda 表达式可以直接作为 Predicate 的实现,简化条件判断。

示例 1:删除集合中的偶数
 
 

你可能感兴趣的:(Lambda表达式,java,服务器)