学习和玩Java8.试图创建一个2D数组.
final List<Integer> row = IntStream.range(0, 3)
.boxed()
.collect(Collectors.toList());
List<List<Integer>> arr2D = IntStream.range(0, 3)
.map(i -> arr2D.add(i, row)); // will not compile
Run Code Online (Sandbox Code Playgroud)
如何将行放入2D数组?这是使用Java8的正确方法吗?
您的问题提到了数组,但您的代码只有列表.如果要生成嵌套List:
List<List<Integer>> arr2D = IntStream.range(0, 3)
.mapToObj(i -> row)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
当然,使用此代码,所有内部列表都是相同的(即相同的实例).如果您希望每个内部List都是不同的实例:
List<List<Integer>> arr2D = IntStream.range(0, 3)
.mapToObj(i -> new ArrayList<Integer>(row))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
712 次 |
| 最近记录: |