ArrayListの宣言と初期値の代入を1行で書く方法【Java完全初心者向け】
こんにちは。ゆうせいです。
Javaでよく使われるArrayList(アレイリスト)ですが、
「宣言して、初期値を入れるのを1行でやりたい!」ということ、ありますよね。
今回はその方法を、誰でもわかるように丁寧に解説します。
ArrayListとは?
最初に少しだけ確認です。
ArrayListはJavaの可変長配列です。
ふつうの配列(int[]
など)と違って、あとから要素を追加・削除できます。
イメージとしては、「中身が自由に増えたり減ったりする箱」です。
1行で宣言と値の代入をする方法
結論からいきます!
List<String> list = new ArrayList<>(Arrays.asList("りんご", "バナナ", "みかん"));
はい、これで宣言+初期値の代入が1行でできました。
解説します!
List<String> list
これは変数list
を作って、文字列型のリストにします。ArrayList
を使うときは、通常List
というインターフェースで受け取るのが一般的です。
new ArrayList<>(...)
これは新しいArrayListの作成です。<>
の中に渡したものが、最初に入る要素になります。
Arrays.asList(...)
ここがミソです!
Arrays.asList("りんご", "バナナ", "みかん")
というのは、
固定サイズのリストを生成するメソッド。
でもこれだけだと、追加や削除ができません。
そのために、new ArrayList<>(...)
で包むことで
追加・削除ができる普通のArrayListに変換しているのです。
注意点:Arrays.asList
だけではだめ?
はい。次のように書くと…
List<String> list = Arrays.asList("りんご", "バナナ", "みかん");
list.add("ぶどう"); // エラー!
Arrays.asList()
のリストはサイズ変更不可なので、add()
やremove()
が使えません。
なので、可変にしたいなら必ず new ArrayList<>(...)
にしましょう。
補足:Java 9以降ならもっと簡単!
もしJava 9以上を使っているなら、List.of()も使えます。
List<String> list = new ArrayList<>(List.of("りんご", "バナナ", "みかん"));
List.of()
も固定リストですが、構文がちょっと簡潔です。
まとめ表
書き方例 | 説明 | サイズ変更 |
---|---|---|
Arrays.asList(...) | 固定サイズリスト | ❌ |
new ArrayList<>(Arrays.asList(...)) | 可変サイズリスト | ✅ |
new ArrayList<>(List.of(...)) | Java9以降の簡潔な書き方 | ✅ |
では練習問題!
このコードで初期値「犬」「猫」「鳥」を1行で入れてください。
List<String> animals = // ←ここを完成させてみよう!
今後の学習指針
ArrayList
の基本操作(追加、削除、取得)for
文やfor-each
との組み合わせMap
など他のコレクションとの違い- Javaのバージョンごとの違いにも注目してみましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
