使用 Streams 将嵌套整数列表转换为二维数组

我搜索了类似的问题,但我只发现了不适用于这种情况的对象字符串:


想要转换List<List<Integer>> list为int[][] array使用流


到目前为止我得到了这个:


int[][] array= list.stream().map(List::toArray)...

我以我发现的其他类似问题为基础。但这些使用 String 并且不能使其适用于 Integers->int:


// Example with String 1:    

String[][] array = list.stream()

        .map(l -> l.stream().toArray(String[]::new))

        .toArray(String[][]::new);


// Example with String 2:    

    final List<List<String>> list = ...;

    final String[][] array = list.stream().map(List::toArray).toArray(String[][]::new);


慕田峪4524236
浏览 60回答 1
1回答

哔哔one

您只需对解决String[][]方案进行一些修改:List<List<Integer>> lists = ...; int[][] arrays = lists.stream()                                // Stream<List<Integer>>         .map(list -> list.stream().mapToInt(i -> i).toArray()) // Stream<int[]>         .toArray(int[][]::new);正在mapToInt(i -> i)拆箱每个Integer(即Integer→ int)。看:Stream#mapToInt(ToIntFunction)IntStream#toArray()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java