Java 7 中的 Java 流

标签 java java-stream

我的问题可能过于宽泛,答案可能很简单,但我必须问。

是否有 (Java 8) streams 的等效实现? * 在 Java 7 中?

我熟悉 (Java 8) 流,但我的项目要求是使用 Java 7。

*不要与 inputStream 混淆和 outputStream .

最佳答案

在官方 API 中,没有。

没有更多针对 Java 7 的公开更新。如果您是客户,您可能仍会获得较小的更新,但这不会(或非常非常不可能)用于向后移植 Stream API。

稍加挖掘,您可以查看 StreamSupport .我从未测试过它,但显然它的目标是将 Stream API 向后移植到 Java 6/7,如果你想将它与 lambda 表达式结合起来,还有 retrolambda .

Functional Java可能很有趣。它与 Stream API 的意图并不完全相同,但如果您的目标是过滤/映射/等。一个列表/数组,它可能适合您的需求。对于 example :

final List<Integer> b = list(1, 2, 3).map(add.f(-1));
listShow(intShow).println(b); // [0, 1, 2]

最后,您可以查看 Scala 的 Stream API。由于 Scala 也在 JVM 上运行,因此您可以混合您的代码。也许这不是您想要的,但如果需要,值得一试。

关于Java 7 中的 Java 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30055585/

相关文章:

java - 状态依赖过滤流

java - 如何从两个流中获取相似的元素并收集由此形成的对而不丢失顺序?

java - 在线程内调用 MessageBox

java - 不同时区的数据库服务器的 MySQL JDBC 日期问题

java - 如何在 REST Web 服务中使用 json 生成 http 响应?

java - 在由 Stream 外部的对象确定的流上返回 min

java - 如何一次将一个字符串添加到 HashMap<Integer, List<String>> 中?

java - 基于第一个值对所有值进行条件循环

java - 使用 Java 8 流时的新对象实例化

java-8 - 发出流的 Java 8 流