繁体   English   中英

2D数组的CopyOfRange

[英]CopyOfRange for 2D Arrays

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

如果没有,是否有任何简单的方法可以在不使用for循环的情况下复制2D数组的列或行?

复制列

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"}}        

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM