在 Java 中清除数组

Mohammad Irfan 2023年10月12日
  1. 在 Java 中使用 for 循环清除数组
  2. 使用 Java 中的 fill() 方法清除数组
  3. 在 Java 中通过设置空引用来清除数组
  4. 在 Java 中通过分配新的数组引用来清除数组
在 Java 中清除数组

本教程介绍如何在 Java 中清空或清除数组。我们将引用一些示例代码来帮助你进一步理解该主题。

要清除数组,我们可以使用多种方法。例如,我们可以为每个数组索引设置一个空值或仅将空值设置为数组引用。你还可以使用 Arrays 类的 fill() 方法为数组设置默认值。让我们看看下面的一些例子。

在 Java 中使用 for 循环清除数组

这是使用 for 循环为数组的每个索引填充默认值的简单示例。这是一种基本方法,但它需要一个额外的 for 循环,这可能会导致程序复杂性。请参阅此处的示例:

public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {2, 22, 56, 78, 14};
    for (int i : arr) {
      System.out.println(i);
    }
    // Setting default value to empty array
    for (int i = 0; i < arr.length; i++) {
      arr[i] = 0;
    }
    for (int i : arr) {
      System.out.println(i);
    }
  }
}

输出:

2
22
56
78
14
0
0
0
0
0

使用 Java 中的 fill() 方法清除数组

此方法是另一种解决方案,我们使用 Arrays 类的 fill() 方法通过设置新值来清除数组。使用 fill() 方法后,我们使用 for 循环访问其元素并查看是否所有部分都已清除。

import java.util.Arrays;
public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {2, 22, 56, 78, 14};
    for (int i : arr) {
      System.out.println(i);
    }
    // Setting default value to empty array
    System.out.println("After Clearing Array:");
    Arrays.fill(arr, 0);
    for (int i : arr) {
      System.out.println(i);
    }
  }
}

输出:

2
22
56
78
14
After Clearing Array:
0
0
0
0
0

在 Java 中通过设置空引用来清除数组

如果你想让一个数组完全为空(即没有元素,甚至没有默认元素),你可以为数组对象分配一个空引用。将数组设为 null 后,不要尝试访问其元素,否则编译器将返回 NullPointerException 命令。参考下面的示例代码:

public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {2, 22, 56, 78, 14};
    for (int i : arr) {
      System.out.println(i);
    }
    // Setting null value to empty array
    arr = null;
    for (int i : arr) {
      System.out.println(i);
    }
  }
}

输出:

2
22
56
78
14
Exception in thread "main" java.lang.NullPointerException
    at myjavaproject.SimpleTesting.main(SimpleTesting.java:11)

在 Java 中通过分配新的数组引用来清除数组

我们可以通过创建一个新的空数组并将新数组的引用分配给它来清除数组。这个方法有点棘手;但是,尝试并检查它是否没有抛出任何异常很有用,因为新数组具有其默认值。请参考以下示例:

public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {2, 22, 56, 78, 14};
    for (int i : arr) {
      System.out.println(i);
    }
    // Setting new empty array
    System.out.println("After clearing Array:");
    arr = new int[arr.length];
    System.out.println(arr[0]);
  }
}

输出:

2
22
56
78
14
0

相关文章 - Java Array