在 Java 中將所有陣列元素初始化為零

Mohammad Irfan 2023年1月30日 2021年6月30日
  1. 在 Java 中將陣列元素初始化為零
  2. 使用 Java 中的 fill() 方法將陣列元素初始化為零
  3. 使用 Java 中的 nCopies() 方法將陣列元素初始化為零
  4. 在 Java 中通過重新分配將陣列元素初始化為零
  5. 使用 Java 中的 for 迴圈將陣列元素初始化為零
在 Java 中將所有陣列元素初始化為零

本教程介紹瞭如何在 Java 中將所有陣列元素初始化為零的程式。你會找到有用的示例程式碼來指導你完成此過程。

在 Java 中,陣列儲存類似型別的資料。該物件在執行時由編譯器初始化;它的值取決於陣列的型別——這意味著整數陣列將被初始化為 0,而字串陣列將為空。在這個例子中,我們將使用 fill()nCopies() 等方法以及一些自定義程式碼將陣列元素初始化為零。

在 Java 中將陣列元素初始化為零

預設情況下,在 Java 中,int、short、byte 和 long 陣列等資料型別初始化為 0。因此,如果你建立這些型別的新陣列,則無需將它們初始化為零,因為這已經是它們的預設設定。在下面的示例中,我們建立了兩個具有 intbyte 型別的陣列,並看到它們的預設值為零。

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

相關文章 - Java Array