Javaちょこっとリファレンス
HOME > 配列の全要素に初期値をセットする

配列の全要素に初期値をセットする

配列の全要素に初期値セットしたい時はjava.util.Arraysクラスのfillメソッドが便利です
Arrays.fillメソッドはstaticなので、Arraysクラスのnewは不要です。

このメソッドを使うと、既に値がセットされている場合でも上書きされます。

サンプルソースコード

String配列の全要素に値をセットする
import java.util.Arrays;

public class ArraysFillSample {
  public static void main(String args[]) {

    //要素数5の配列を生成する
    String[] a = new String[5];
    a[2] = "hoge";  //3番目の要素のみ値をセットしてみる

    //初期値設定前の状態を画面表示する
    System.out.println(Arrays.toString(a));

    //初期値として"*"をセットする
    Arrays.fill(a, "*");

    //初期値設定後の状態を画面表示する
    System.out.println(Arrays.toString(a));

  }
}
実行結果
C:\>java ArraysFillSample [null, null, hoge, null, null] [*, *, *, *, *]

値が既にセットされている要素にも値が上書きされますのでご注意ください。

主要メソッド

fillメソッドは、どの型の配列でも使えるように定義されています。
また、指定した範囲のみ値をセットするメソッドも用意されています。

【java.util.Arraysクラスのfillメソッド】
戻値型メソッド説明
voidfill(byte[] a, byte b)byte配列版
voidfill(byte[] a, int f, int t, byte b)fからtの間の要素のみ値bをセットする
voidfill(short[] a, short b)short配列版
voidfill(short[] a, int f, int t, short b)fからtの間の要素のみ値bをセットする
voidfill(int[] a, int b)int配列版
voidfill(int[] a, int f, int t, int b)fからtの間の要素のみ値bをセットする
voidfill(long[] a, long b)long配列版
voidfill(long[] a, int f, int t, long b)fからtの間の要素のみ値bをセットする
voidfill(float[] a, float b)float配列版
voidfill(float[] a, int f, int t, float b)fからtの間の要素のみ値bをセットする
voidfill(double[] a, double b)double配列版
voidfill(double[] a, int f, int t, double b)fからtの間の要素のみ値bをセットする
voidfill(boolean[] a, boolean b)boolean配列版
voidfill(boolean[] a, int f, int t, boolean b)fからtの間の要素のみ値bをセットする
voidfill(char[] a, char b)char配列版
voidfill(char[] a, int f, int t, char b)fからtの間の要素のみ値bをセットする
voidfill(Object[] a, Object b)Object配列版
voidfill(Object[] a, int f, int t, Object b)fからtの間の要素のみ値bをセットする
このエントリーをはてなブックマークに追加

配列カテゴリ

HOMEへ戻る TOPへ戻る