Java Lambdas和Streams:传递流

时间:2016-12-24 17:33:47

标签: java lambda guava java-stream lazy-evaluation

我有一个相当愚蠢的问题。我们都知道流可以有许多中间操作,但只有当我们调用一些终端操作时才进行实际计算。在没有长时间呼叫终端操作的情况下传输流是否常见?

让我解释一下我的意思。请考虑使用Iterator / Iterable

的以下示例
  1. 使用缓冲读取器读取文件行,返回Iterator next()覆盖调用reader.readLine()
  2. 在上层使用guava的Iterators.transform来表示小写 一切。
  3. 在上层用另一个可能被拆分的迭代器换行 来自上游迭代器的线由昏迷和返回的元组 行中的文字
  4. 在最后一个类中通过遍历它来消耗迭代器 写一些OutputStream。
  5. 所有这些我从开始到结束完全懒惰的计算。没有使用中间集合等。

    如果我想对流做同样的事情,我想我应该绕过Stream对象本身。这样做很常见吗?你能与我分享一些链接吗?

0 个答案:

没有答案