java - 在 Java 8 中进行 ruby​​ 注入(inject)的优雅方式

标签 java loops java-8

String result = "";
for(String str : strings) {
    result = apply(result, str);
}
return result;

我想通过循环中的下一个元素传递一个操作的结果。在 Java 8 中有什么优雅的方法可以做到这一点吗?

例如,在Ruby中,我们可以使用inject。

strings.inject("") { |s1, s2| apply(s1,s2) }

最佳答案

你可以使用reduce:

String result = strings.stream().reduce("", this::apply);

关于java - 在 Java 8 中进行 ruby​​ 注入(inject)的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163085/

相关文章:

java - 如何从 Instant.now() 获取 DayOfWeek

java - 如何使用 EGit 和 Eclipse 将 JavaDoc 从 master 分支移动到 GitHub 上的 gh-pages 分支?

java - 子类型的构造函数

java - NetBeans 和 JDialog 如何重用代码?

r - 如何简化这个程序?

java - 强化 : Null dereference for Java 8

Java 8流映射重用分配的变量

java - 如何用Java制作自己的解释器?

javascript - 在 JavaScript 中添加 wait for 循环

c++ - 在 C++ 中,我想创建一个循环,不断检查文件的大小,并在文件大小发生变化时执行某些操作