当前位置: 首页 > 知识库问答 >
问题:

Java流-peek和skip

姬实
2023-03-14
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

共有1个答案

壤驷华美
2023-03-14

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

这里实际上是完全相同的问题,但我相信输出使它更清楚地发生了什么。它在流中为每个项打印一行。

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()方法,该怎么办。 我也有 和 为什么会这么糟糕? 现在,据我所知,这确实可以实现预期的目的。它; 取得帐户清单 尝试登录每个帐