我List<Integer>喜欢{ 1, 2, 3 ,4, 5 },我想得到的结果就像12345.
如何使用Java8流或任何智能方式执行此操作?
List 由单个数字的非负整数组成.
我当然可以这样做1*10000+ 2 * 1000 + 3*100 + 4*10 + 5,但这很乏味.
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)
就个人而言,我会在没有其他约束的情况下选择后者,因为它更简单的代码,不涉及相对重量级的流框架,更容易调试等.
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |