我喜欢Java 8的流媒体API。有许多有用的中间和终端方法来转换和收集流。我在谈论像distinct()
这样的中间方法或像collect()
这样的终端方法。我发现Collector
API特别有用,可以将流缩减为深度分组映射。
Java流API的javascript等价物是什么?我知道有map
,filter
和reduce
等基本功能,但是没有找到javascript native提供的任何更通用的接口来查询或分组集合中的数据。是否有一些生产就绪库可以匹配Java Streaming API?
答案 0 :(得分:7)
java 8 stream()与lodash chain()
相同java 8 collect()与lodash value()
相同java 8 distinct()与lodash uniq()
相同java 8 map()与lodash map()
相同lodash更全面,因为它已存在更长时间。
答案 1 :(得分:1)
从api级别来看,lodash / RxJS / stream.js可能满足要求,但是Java Stream的强大之处在于它可以利用现代cpu多核体系结构来并行化作业。但是,所有这些纯js库都无法解决此问题,但最终,这些js仍在单线程运行时中运行,并且同时具有1种核心用法。
我猜想JS引擎需要提供支持以实现性能目标。