java - 替换 forEach 并添加 collect

标签 java for-loop collections lambda

如何将其替换为 collect?

List<Serializable> result = new ArrayList<>();
entries.forEach(entry-> result.add(session.save(entry)));

最佳答案

这很简单:

List<Serializable> result = 
    entries.stream()
           .map(session::save)
           .collect(Collectors.toList());

map 方法通过调用session::save 将输入条目映射到Serializable 实例,然后您需要做的就是收集它们到一个List

关于java - 替换 forEach 并添加 collect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38245317/

相关文章:

c++ - 如何使用 do while 循环中的标记值编写 while 循环?

java - For 循环在 if 情况下不运行

java - 如何使列表中的对象符合垃圾收集条件?

java - HashSet使用Hash Table作为数据结构,使用HashMap作为集合?内存角度数组不推荐使用?

java - 动态二维数组可以实现 Java.Collection.size() 方法吗?

java - 表的前一个实例会追加到新调用的表中。页面应该只显示一张表

java - 使用 Bloch 的 Builder 模式是否会影响内存和性能?

java - 在不同线程和独立类中处理互联网连接

java - JAD 崩溃 - 无效/损坏的常量池

batch-file - 批处理文件嵌套 For/L 循环并退出它们