目录
该类是所有集合的子类
使用lambda方式移除元素
default boolean removeIf(Predicate<? super E> filter) {
//校验lambda是否为空
Objects.requireNonNull(filter);
boolean removed = false;
//获取迭代器
final Iterator<E> each = iterator();
//循环判断
while (each.hasNext()) {
//如果该方法执行返回true则移除该元素
if (filter.test(each.next())) {
each.remove();
removed = true;
}
}
//返回是否成功移除
return removed;
}
返回并发分割器,用于并发流式处理的时候调用
@Override
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, 0);
}
返回流对象
default Stream<E> stream() {
return StreamSupport.stream(spliterator(), false);
}
返回并发流式对象
default Stream<E> parallelStream() {
return StreamSupport.stream(spliterator(), true);
}
原文:https://www.cnblogs.com/lonecloud/p/10585347.html