配列のすべての要素を指定した値で埋める(fill)

配列を宣言し配列を作成したあと、要素に値を代入することができますが、 Arrays.fill メソッドを使用することですべての要素に対して特定の値を代入することができます。ここでは Arrays.fill メソッドを使って配列のすべての要素を指定した値で埋める方法について解説します。

(Last modified: )

すべての要素を特定の値で埋める

配列を宣言し配列を作成すると、使用するデータ型が数値型だった場合はすべての要素が 0 で初期化され、 boolean 型の場合は false で初期化され、参照型の場合は null で初期化されます。

int[] a = new int[3];

System.out.println(a[0]);  // 0
System.out.println(a[1]);  // 0
System.out.println(a[2]);  // 0

すべての要素に同じ値を格納するには for 文などで順番に格納することもできますが、 Arrays クラスで用意されている fill メソッドを使うと簡単です。 fill はクラスメソッドとして定義されており、引数の型毎に異なるメソッドが定義されています。例えば int[] 型の値を引数に取る fill メソッドは次のように定義されています。

public static void fill(int[] a, int val)

パラメータ:
a - 値を代入する配列
val - 配列のすべての要素に格納する値

1 番目の引数に指定した配列のすべての要素に 2 番目の引数で指定した値を格納します。

次のサンプルを見てください。

import java.util.Arrays;  // java.util.Arraysのインポートが必要です

int[] a = new int[3];
Arrays.fill(a, 10);

System.out.println(a[0]);  // 10
System.out.println(a[1]);  // 10
System.out.println(a[2]);  // 10

すべての要素に同じ値を格納したい場合に利用してください。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample12-1.java という名前で保存します。

import java.util.Arrays;

class JSample12_1{
  public static void main(String[] args){
    int[] a = new int[3];
    Arrays.fill(a, 10);

    System.out.println(a[0]);
    System.out.println(a[1]);
    System.out.println(a[2]);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample12_1.java

その後で、次のように実行してください。

java JSample12_1

すべての要素を特定の値で埋める(1)

配列のすべての要素に指定した値を格納しました。

-- --

Arrays.fill メソッドを使って配列のすべての要素を指定した値で埋める方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。