Streams 入门

根据谓词获取或丢弃流中的元素。

✕ Java 8
List<Integer> result = new ArrayList<>();
for (int n : sorted) {
    if (n >= 100) break;
    result.add(n);
}
// no stream equivalent in Java 8
✓ Java 9+
var result = sorted.stream()
    .takeWhile(n -> n < 100)
    .toList();
// or: .dropWhile(n -> n < 10)
发现此代码有问题? 告诉我们。
🎯

短路

一旦谓词失败立即停止处理。

📖

声明式

清晰地表达获取/丢弃语义。

🔗

可链式调用

与其他流操作无缝组合。

旧方式
手动循环
现代方式
takeWhile/dropWhile
自 JDK
9
难度
入门
流的 takeWhile / dropWhile
可用

自 JDK 9 起广泛可用(2017 年 9 月)

takeWhile() 在谓词为 true 时返回元素,在第一次失败时停止。dropWhile() 在谓词为 true 时跳过元素,然后返回其余所有元素。

分享 𝕏 🦋 in