Java で配列をクリアする

Mohammad Irfan 2023年10月12日
  1. Java の for ループを使用して配列をクリアする
  2. Java で fill() メソッドを使用して配列をクリアする
  3. Java で Null 参照を設定して配列をクリアする
  4. Java で新しい配列参照を割り当てることで配列をクリアする
Java で配列をクリアする

このチュートリアルでは、Java で配列を空またはクリアする方法を紹介します。このトピックをさらに理解するのに役立ついくつかのサンプルコードを引用します。

配列をクリアするには、いくつかの方法を使用できます。たとえば、各配列インデックスに null 値を設定したり、配列参照のみに null を設定したりできます。Arrays クラスの fill() メソッドを使用して、デフォルト値を配列に設定することもできます。以下のいくつかの例を見てみましょう。

Java の for ループを使用して配列をクリアする

これは、for ループを使用して配列の各インデックスにデフォルト値を入力する簡単な例です。これは基本的なアプローチですが、プログラムが複雑になる可能性のある 1つの追加の 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 参照を設定して配列をクリアする

配列を完全に空にしたい場合(つまり、要素なし、デフォルト要素なし)、配列オブジェクトに null 参照を割り当てることができます。配列を 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