我搜索了类似的问题,但我只发现了不适用于这种情况的对象字符串:想要转换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);
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
您只需对解决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()
添加回答
举报
0/150
提交
取消