Java List removeIf() 方法
- 用途:移除此集合中满足条件的所有元素。迭代期间的错误或运行时异常会被传递给调用方。
- 源码 在Colletion接口中
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;
}
//删除list中小于50的偶数
List<Integer> list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(10);
list.add(100);
list.removeIf(x->
{ x<50&&x%2==0 }
);
list.forEach(System.out::println);
1
3
100
- 其实removeIf里传入一个判断x的布尔类型表达式就行了