在 Java 中將所有陣列元素初始化為零
Mohammad Irfan
2023年10月12日
- 在 Java 中將陣列元素初始化為零
-
使用 Java 中的
fill()
方法將陣列元素初始化為零 -
使用 Java 中的
nCopies()
方法將陣列元素初始化為零 - 在 Java 中通過重新分配將陣列元素初始化為零
-
使用 Java 中的
for
迴圈將陣列元素初始化為零
本教程介紹瞭如何在 Java 中將所有陣列元素初始化為零的程式。你會找到有用的示例程式碼來指導你完成此過程。
在 Java 中,陣列儲存類似型別的資料。該物件在執行時由編譯器初始化;它的值取決於陣列的型別——這意味著整數陣列將被初始化為 0,而字串陣列將為空。在這個例子中,我們將使用 fill()
和 nCopies()
等方法以及一些自定義程式碼將陣列元素初始化為零。
在 Java 中將陣列元素初始化為零
預設情況下,在 Java 中,int、short、byte 和 long 陣列等資料型別初始化為 0。因此,如果你建立這些型別的新陣列,則無需將它們初始化為零,因為這已經是它們的預設設定。在下面的示例中,我們建立了兩個具有 int
和 byte
型別的陣列,並看到它們的預設值為零。
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[2];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
byte barr[] = new byte[2];
for (int i = 0; i < barr.length; i++) {
System.out.println(barr[i]);
}
}
}
輸出:
0
0
0
0
使用 Java 中的 fill()
方法將陣列元素初始化為零
如果一個陣列已經有元素並且你想用 0 初始化它,你應該使用 Arrays
類的 fill()
方法來填充陣列的指定值。請參考下面的示例:
import java.util.Arrays;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Arrays.fill(arr, 0);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
輸出:
12
23
45
58
Array after initialize to zero
0
0
0
0
使用 Java 中的 nCopies()
方法將陣列元素初始化為零
在這裡,我們使用了 Collections
類的 nCopies()
方法來建立陣列的副本,而 toArray()
方法將元素轉換為整數陣列。請參考下面的示例:
import java.util.Collections;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Integer[] arr2 = Collections.nCopies(arr.length, 0).toArray(new Integer[0]);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
輸出:
12
23
45
58
Array after initialize to zero
0
0
0
0
在 Java 中通過重新分配將陣列元素初始化為零
這種方法是一種新的棘手解決方案,我們建立一個具有相同大小和型別的新陣列,然後將其引用分配給原始陣列,從而重置原始陣列。結果,所有元素都被初始化為 0。這是一個例子:
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
int[] arr2 = new int[4];
arr = arr2;
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
輸出:
12
23
45
58
Array after initialize to zero
0
0
0
0
使用 Java 中的 for
迴圈將陣列元素初始化為零
這個過程是我們使用 for
迴圈的較舊和最不推薦的方法之一。在每次迭代中,我們為陣列的每個索引分配 0,使陣列的所有元素初始化為 0。檢查此程式碼塊作為示例:
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
arr[i] = 0;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
輸出:
12
23
45
58
Array after initialize to zero
0
0
0
0