2D阵列的CopyOfRange

时间:2015-12-04 17:55:24

标签: java arrays 2d

对于Java中的2D数组,是否有类似Arrays.copyOfRange(short[] original, int from, int to)的命令?

如果没有,是否有任何直接的方法来复制2D数组的列或行而不使用for循环?

1 个答案:

答案 0 :(得分:0)

  

复制专栏

1)您可以使用Arrays.copyOfRange

复制列
    String[][] sss = { {"1", "2"}, {"3", "4"}};
    String[][] sss1 = Arrays.copyOfRange(sss, 0, 1); // ss = {{"1", "2"}}

2)对于没有循环的复制行,您可以使用Stream Api

 Arrays.stream(sss).map(s1 -> Arrays.stream(s1).skip(1).limit(1).toArray()).toArray(); // return {{"2"},{"4"}}

3)"这是一个浅拷贝;"

好的,使用Stream Api我们不能浅拷贝:

Arrays.stream(sss).skip(1).limit(1).map(s1 -> Arrays.stream(s1).toArray()).toArray(); // return {{"3", "4"}}