[英]Copy a 2D array with some of the values null
我在最后很容易地添加了 java.util.Arrays 到深度打印(對於這個例子),但我不能用它來復制數組
我需要復制這個二維數組,但我似乎無法弄清楚如何用 null 替換我創建的內部數組。 我主要評論了我需要做什么。
我創建了一個與原始數組大小相同的數組,但它在內部循環中放置了 3 個 null 值,因為我以這種方式初始化了數組,但我不知道如何初始化數組,並使其長度相同。
import java.util.Arrays;
public class makeCopyOfArray {
public static String[][] copyArray() {
String[][] array = new String[][] {{"1", "1", "1"}, {"2", "2", "2"}, null, null, null};
String[][] arrayCopy = new String[array.length][array[1].length];
for (int i = 0; i < array.length; i++) {
if (array[i] == null) {
continue;
}
for (int j = 0; j < array[i].length; j++) {
arrayCopy[i][j] = array[i][j];
}
}
return arrayCopy;
}
public static void main(String[] args) {
System.out.println(Arrays.deepToString(copyArray()));
// prints out
// [[1, 1, 1], [2, 2, 2], [null, null, null], [null, null, null], [null, null, null]]
// need it to print out
// [[1, 1, 1], [2, 2, 2], null, null, null]
}
}
我想到了。 我剛剛創建了一個用 null 填充的數組的副本。
import java.util.Arrays;
public class makeCopyOfArray {
public static String[][] copyArray() {
String[][] array = new String[][] {{"1", "1", "1"}, {"2", "2", "2"}, null, null, null};
String[][] arrayCopy = new String[array.length][]; //create an array with just empty null
//loop through array and copy to arrayCopy the inner lists that are not null.
for (int i = 0; i < array.length; i++) {
if (array[i] != null) {
arrayCopy[i] = array[i];
}
}
return arrayCopy;
}
public static void main(String[] args) {
System.out.println(Arrays.deepToString(copyArray()));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.