使用Java 8流的N个数组元素的总和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Java 8流的N个数组元素的总和相关的知识,希望对你有一定的参考价值。
我可以有N个不同长度的数组。重要的事情是我不知道可以有多少个数组。让我们举一个只有3个数组的示例:
Integer arr1[] = {5, 10, -5};
Integer arr2[] = {8, 3};
Integer arr3[] = {12, -1, 0, 9};
List<String> result = Arrays.stream(arr1)
.flatMap(s1 -> Arrays.stream(arr2)
.flatMap(s2 -> Arrays.stream(arr3)
.map(s3 -> s1 + s2 + s3)))
.collect(Collectors.toList());
是否可以使用Stream对N个数组做这样的事情?
答案
这应该工作。
int max = Stream.of(arr1, arr2, arr3)
.map(array -> IntStream.of(array).sum())
.max(Integer::compareTo)
.orElseThrow(IllegalStateException::new);
以上是关于使用Java 8流的N个数组元素的总和的主要内容,如果未能解决你的问题,请参考以下文章
求算法,将N个整数分到M个数组中,要求元素和相差最小,元素个数相差最小
c语言:对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
LeetCode233. 数字1的个数(数位dp)/1583. 统计不开心的朋友(模拟)/112. 路径总和 / 230. 二叉搜索树中第K小的元素 /968. 监控二叉树(树形dp)