gpt4 book ai didi

Java 流 - 浏览和跳过

转载 作者:行者123 更新时间:2023-12-01 19:24:07 28 4
gpt4 key购买 nike

我正在准备考试,我对偷看感到困惑。演示代码:

Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.peek(x -> System.out.print("A" + x))
.skip(6)
.peek(x -> System.out.print("B" + x))
.forEach(x -> System.out.println("C" + x));

输出:

A1A2A3A4A5A6A7B7C7
A8B8C8
A9B9C9

有人可以解释一下这里发生了什么吗?我所知道的是 skip(6) 会跳过前 6 个元素,并且 peek 将在给定时刻打印流的值。

最佳答案

我认为这个例子是不必要的迟钝。

这实际上是完全相同的问题,但我相信输出可以让人们更清楚地了解发生了什么。它在流中的每个项目打印一行。

Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.peek(x -> System.out.println()) //always prints
.peek(x -> System.out.print("A" + x + " ")) //always prints
.skip(6) //"conditional"
.forEach(x -> System.out.print("B" + x)); //sometimes prints

输出

A1 
A2
A3
A4
A5
A6
A7 B7
A8 B8
A9 B9

整数 1 - 6 只能到达 skip 操作,将它们扔到地板上。他们不能到达Bskip 就像一个屏障。

剩余的元素可以通过跳过“障碍”并到达B

关于Java 流 - 浏览和跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59327869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com