如何使用流计算列表的总和?

Rob*_* Li 2 java

List<Integer>喜欢{ 1, 2, 3 ,4, 5 },我想得到的结果就像12345.

如何使用Java8流任何智能方式执行此操作?

List 由单个数字的非负整数组成.

我当然可以这样做1*10000+ 2 * 1000 + 3*100 + 4*10 + 5,但这很乏味.

And*_*ner 5

用途IntStream.reduce:

int n = IntStream.of(array).reduce(0, (a,b) -> 10*a + b)
Run Code Online (Sandbox Code Playgroud)

这实际上与:

int n = 0;
for (int b : array) {
  n = 10 * n + b;
}
Run Code Online (Sandbox Code Playgroud)

就个人而言,我会在没有其他约束的情况下选择后者,因为它更简单的代码,不涉及相对重量级的流框架,更容易调试等.