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メソッドは、どの型の配列でも使えるように定義されています。
また、指定した範囲のみ値をセットするメソッドも用意されています。
戻値型 | メソッド | 説明 |
---|---|---|
void | fill(byte[] a, byte b) | byte配列版 |
void | fill(byte[] a, int f, int t, byte b) | fからtの間の要素のみ値bをセットする |
void | fill(short[] a, short b) | short配列版 |
void | fill(short[] a, int f, int t, short b) | fからtの間の要素のみ値bをセットする |
void | fill(int[] a, int b) | int配列版 |
void | fill(int[] a, int f, int t, int b) | fからtの間の要素のみ値bをセットする |
void | fill(long[] a, long b) | long配列版 |
void | fill(long[] a, int f, int t, long b) | fからtの間の要素のみ値bをセットする |
void | fill(float[] a, float b) | float配列版 |
void | fill(float[] a, int f, int t, float b) | fからtの間の要素のみ値bをセットする |
void | fill(double[] a, double b) | double配列版 |
void | fill(double[] a, int f, int t, double b) | fからtの間の要素のみ値bをセットする |
void | fill(boolean[] a, boolean b) | boolean配列版 |
void | fill(boolean[] a, int f, int t, boolean b) | fからtの間の要素のみ値bをセットする |
void | fill(char[] a, char b) | char配列版 |
void | fill(char[] a, int f, int t, char b) | fからtの間の要素のみ値bをセットする |
void | fill(Object[] a, Object b) | Object配列版 |
void | fill(Object[] a, int f, int t, Object b) | fからtの間の要素のみ値bをセットする |