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
我认为这个例子是不必要的迟钝。
这里实际上是完全相同的问题,但我相信输出使它更清楚地发生了什么。它在流中为每个项打印一行。
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
我偶然发现了一个我无法解决的任务。我不得不修改代码以打印而不是。 我明白为什么要这样印。 我很感激任何帮助。
groovy.lang.missingMethodException:方法的无签名:java.util.stream.referencePipeline$head.peek()适用于参数类型:(MolportFileverization$_run_closure1)值:[MolportFileverization$_run_closure1@d62472f]可能的解决方案:peek(java.ut
在Java的LinkedList中,peek和element有什么区别? 以下是OracleJava文档页面对它们的描述,但它们没有解释区别。 公共E peek() 检索但不删除此列表的头(第一个元素)。 指定者:界面中的peek Deque public E element() 检索但不删除列表的头部(第一个元素)。指定者:接口队列中的元素 区别仅仅是一个抛出异常,而另一个在列表为空的情况下返回
问题内容: 我使用尝试了以下Java 8代码段。 但是,控制台上未打印任何内容。如果我改为这样做: 我看到以下内容输出了peek和foreach调用。 双方并参加一个 那么,为什么是输出有什么不同? 问题答案: 该Javadoc中提到以下: 中间操作返回一个新的流。他们总是很懒惰。执行诸如filter()之类的中间操作实际上并不会执行任何过滤,而是会创建一个新的流,该流在遍历时将包含与给定谓词匹配
问题内容: 我正在阅读有关Java流的信息,并在不断学习中发现新事物。我发现的新peek()功能之一就是功能。我偷看的几乎所有内容都说应将其用于调试Streams。 如果我有一个Stream,其中每个帐户都有一个用户名,密码字段以及一个login()和loggingIn()方法,该怎么办。 我也有 和 为什么会这么糟糕? 现在,据我所知,这确实可以实现预期的目的。它; 取得帐户清单 尝试登录每个帐