Collections 入门

用集合批量操作替代修改循环

使用 removeIf()、replaceAll() 和 List.sort() 直接转换集合。

✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
    if (it.next().cancelled()) {
        it.remove();
    }
}
✓ Java 8+
orders.removeIf(Order::cancelled);
发现此代码有问题? 告诉我们。
👁

意图清晰

操作描述要更改什么,而不是如何迭代。

🐛

修改更安全

避免手动遵循迭代器移除规则。

⚡

代码更少

常见转换只需一个表达式。

旧方式
手动迭代器移除
现代方式
Collection.removeIf()
自 JDK
8
难度
入门
用集合批量操作替代修改循环
可用

自 JDK 8 起可用(2014 年 3 月)

现代集合接口直接提供常见的修改操作。removeIf()、replaceAll() 和 List.sort() 等方法用明确表达预期转换的操作,替代控制流繁重的循环。