【问题标题】:How to map from one container into another w/Java 8 streams? [duplicate]如何从一个容器映射到另一个 w/Java 8 流? [复制]
【发布时间】:2016-02-18 19:33:39
【问题描述】:

所以,在 Clojure 中,我只能这样说......

(into [] (map some-function some-collection))

我得到了转换后数据的新向量。

对于 Java 8 流,是否有一些 simple 等效于 into?例如,我在ArrayList 上没有看到采用流的构造函数,在java.util.Collections 中也没有看到某种辅助函数,也没有看到流接口。

【问题讨论】:

  • 从未写过 Clojure,但您似乎只想要 someCollection.stream().map(someFunction).collect(Collectors.toList())
  • 对于数组,您可以使用.toArray();
  • ...仅从Javadoc很难锻炼,但是有大量的示例和教程。

标签: java clojure java-stream


【解决方案1】:

您可以使用Collectors

someCollection.stream()
              .map(someFunction)
              .collect(Collectors.toList());

您可以使用 Collectors 做其他很酷的事情,如其 javadoc 中所述:

 Map<Department, Integer> totalByDept =
     employees.stream()
              .collect(Collectors.groupingBy(Employee::getDepartment,
                                               Collectors.summingInt(Employee::getSalary)));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多