Javaでは、配列の一部だけを同じ値で埋めたいときに Arrays.fill の範囲指定版 を使います。
基本構文
Arrays.fill(配列, 開始位置, 終了位置, 値);
Java- 開始位置 (start) → ここから埋め始める(含む)
- 終了位置 (end) → ここまで埋める(含まない)
- 値 → 埋めたい値
つまり「開始位置から終了位置の手前まで」を指定した値で埋めます。
例題①:部分的に埋める
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = new int[6]; // [0,0,0,0,0,0]
Arrays.fill(a, 2, 5, 9); // 添え字2~4を9に
System.out.println(Arrays.toString(a));
}
}
Java出力結果
[0, 0, 9, 9, 9, 0]
例題②:前半と後半で違う値を入れる
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] b = new int[8]; // [0,0,0,0,0,0,0,0]
Arrays.fill(b, 0, 4, 1); // 添え字0~3を1に
Arrays.fill(b, 4, 8, -1); // 添え字4~7を-1に
System.out.println(Arrays.toString(b));
}
}
Java出力結果
[1, 1, 1, 1, -1, -1, -1, -1]
例題③:初期化+部分上書き
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] c = new int[7];
Arrays.fill(c, -1); // 全部を-1に
Arrays.fill(c, 0, 3, 0); // 添え字0~2を0に
System.out.println(Arrays.toString(c));
}
}
Java出力結果
[0, 0, 0, -1, -1, -1, -1]
✅ ポイントまとめ
- 範囲指定は「開始含む・終了含まない」
- 複数回呼び出せば部分ごとに違う値を設定できる
- 多次元配列は行ごとにfillする必要がある
