在 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