お疲れ様です。はるさらと申します。
Javaでプログラミングをしていると、
2次元配列をまとめて初期化したい場面は多く出てきます。
例えば、表データを持たせたいときや、
固定の値を最初から入れておきたいときなどです。
しかし、2次元配列の初期化は「new」で宣言するだけではなく、
一括で値を設定する方法もあり、
経験の浅い方は混乱しやすいポイントでもあります。
この記事では、Javaの2次元配列を一括で初期化する方法を
サンプルコード付きで解説します。
基本的な書き方から実務でよく使うケース、
代替手法との比較まで幅広く取り上げますので、ぜひ参考にしてください。
2次元配列を一括初期化する方法の基本
まずは基本となる書き方から見ていきましょう。
Javaの2次元配列は、以下のように宣言と同時に一括初期化できます。
public class ArrayInitExample {
public static void main(String[] args) {
// 2次元配列を一括で初期化
int[][] numbers = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 出力確認
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
System.out.print(numbers[i][j] + " ");
}
System.out.println();
}
}
}
このコードでは、宣言と同時に値を代入しているため、
後からnumbers[0][0] = 1;のように個別代入する必要がありません。
表形式のデータや固定値を持たせたい場合には、
最もシンプルで分かりやすい方法です。
実務でよくある2次元配列の初期化パターン
業務でコードを書くと、単純な数値だけでなく、
初期データや文字列を持つ配列を一括初期化したいケースがあります。
例えば、テーブルに初期データを用意する場合は以下のように記述できます。
public class EmployeeTable {
public static void main(String[] args) {
// 社員データを一括初期化
String[][] employees = {
{"001", "田中", "営業"},
{"002", "佐藤", "開発"},
{"003", "鈴木", "総務"}
};
// 出力確認
for (String[] emp : employees) {
System.out.println("ID: " + emp[0] + ", 名前: " + emp[1] + ", 部署: " + emp[2]);
}
}
}
このように、2次元配列を使うと
表形式のデータをそのままコードに埋め込むことができます。
特に小規模な設定値やテストデータを扱う場合に便利です。
代替手法との比較:ArrayListやListの利用
ただし、実務では**ArrayListやList<List<>>**を使うケースも多くあります。
なぜなら、配列はサイズが固定されるため、
後から柔軟に追加や削除ができないからです。
以下は、ArrayListを使った例です。
import java.util.*;
public class ListExample {
public static void main(String[] args) {
// ArrayListで2次元配列の代替
List<List<String>> employees = new ArrayList<>();
employees.add(Arrays.asList("001", "田中", "営業"));
employees.add(Arrays.asList("002", "佐藤", "開発"));
employees.add(Arrays.asList("003", "鈴木", "総務"));
for (List<String> emp : employees) {
System.out.println("ID: " + emp.get(0) + ", 名前: " + emp.get(1) + ", 部署: " + emp.get(2));
}
}
}
この方法を使うと、後から柔軟にデータを追加できるため、
実務ではこちらが好まれることも多いです。
ただし、固定データを一括初期化したいだけなら配列で十分なケースもあるので、
目的に応じて使い分けましょう。
注意点:初心者が間違えやすいポイント
2次元配列を一括初期化する際、経験の浅い方がよくつまずくポイントをまとめます。
- サイズを同時に指定しない
int[][] arr = new int[3][3] {{1, 2, 3}, {4, 5, 6}}; // コンパイルエラー
→ 一括初期化する場合はnew int[3][3]のようにサイズを指定せず、
直接{}で値を並べます。 - 長さの不揃いな配列(ジャグ配列)に注意
Javaでは、2次元配列の行ごとに列数が異なる「ジャグ配列」も作成可能です。
int[][] jagged = { {1, 2}, {3, 4, 5}, // 列数が異なる {6} };
→ 意図せず不揃いになるとバグの原因になるため、注意しましょう。 - 配列とリストの違いを理解する
配列はサイズ固定、リストは可変。状況に応じて選択するのが重要です。
関連記事
同じようにJavaでの配列や数値操作に関する記事もまとめています。
合わせて読むと理解が深まります。
- 【Java】2次元配列の初期化方法を徹底解説!初心者向けサンプル付きでわかりやすく解説
https://harusara22.work/java-two-dimensional-array/ - 【Java】2次元配列への代入方法まとめ|初心者向けサンプル付き解説
https://harusara22.work/java-two-dimensional-array-assignment/ - 【Java】2次元配列をソートする方法まとめ|初心者向けサンプル付き解説
https://harusara22.work/java-two-dimensional-array-sort/
まとめ
- 2次元配列は宣言と同時に一括初期化できる
- 実務では表形式のデータや初期設定値を埋め込むのに便利
- 柔軟性が必要な場合は**ArrayListやList<List<>>**を使う選択肢もある
- サイズ指定やジャグ配列の扱いに注意
経験の浅い方は、まずは配列の一括初期化方法を理解し、
その後にリストとの使い分けを学ぶとスムーズです。
どなたかのお役に立てば幸いです。
それではまたー!





































