gpt4 book ai didi

arrays - 如何从 Java 8 中的 3 维数组获取 Stream?

转载 作者:行者123 更新时间:2023-12-03 19:47:17 30 4
gpt4 key购买 nike

我知道从二维数组中获取 Stream 但我想知道如何从 3 维数组以下获取 Stream?

 int[][][] data = {
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
},
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
};

最佳答案

如果你可以用二维数组来做,那么为 N 做这件事多维数组并不难。

解决方法如下:

IntStream result = Arrays.stream(data)
.flatMap(Arrays::stream)
.flatMapToInt(Arrays::stream);

为了更好地帮助理解上面发生的事情,您可以按如下方式拆分方法调用:
// the call to Arrays.stream yields a Stream<int[][]>
Stream<int[][]> result1 = Arrays.stream(data);

// the call to flatMap yields a Stream<int[]>
Stream<int[]> result2 = result1.flatMap(Arrays::stream);

// the call to flatMapToInt yields a IntStream
IntStream intStream = result2.flatMapToInt(Arrays::stream);

关于arrays - 如何从 Java 8 中的 3 维数组获取 Stream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785938/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com