我可以有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);