gpt4 book ai didi

java - 将 IntStream 转换为二维数组

转载 作者:行者123 更新时间:2023-11-30 06:20:05 24 4
gpt4 key购买 nike

int [][] 扁平化为 IntStream 后。我需要按照此算法将其“拆分回”成小的二维数组:

IntSream [1,2,3,4] -> int [][] finalArr {{1,2},{2,3},{3,4}}

基本上,将两个最近的元素组合成数组。我觉得使用 flatMap 是可以克服的再次,但我无法弄清楚。有什么建议吗?

最佳答案

您可以从 IntStream 获取 List(list) 并使用以下代码创建两对的二维数组:

import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;

public class Stream1 {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3,4);

int [][] int2DArray = IntStream.range(1, list.size())
.mapToObj(i -> new int[] {list.get(i-1), list.get(i)})
.toArray(int[][]:: new);

System.out.println(Arrays.deepToString(int2DArray));
}
}

打印输出:

[[1, 2], [2, 3], [3, 4]]

关于java - 将 IntStream 转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48337225/

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