簡體   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