【Java入門】Listの初期化と追加 初期値設定の方法とは?
  • facebookページ
  • twitterページ
  • 2020.01.06

    【Java入門】Listの初期化と追加 初期値設定の方法とは?

    Javaプログラムで頻繁に利用することになるコレクション「List」ですが、色々な言語を触っていると使い方をつい忘れてしまいがちです。

    本記事では、Javaプログラマーなら必ず利用する「List」の初期化と値の追加方法、初期値設定のやり方をサンプルコードを交えながらご紹介していきます。

    JavaでListの初期化と値を追加する基本的な方法について理解しよう

    まずはJavaプログラムにおいての必須知識となるJavaでListを初期化する方法についてご紹介していきます。

    Listを初期化してみよう

    まずはJavaでListを利用する際の初期化方法についてご紹介していきます。
    基本構文は下記の通りです。

    Listは様々なデータ型を格納することが可能なため、Listの初期化時にデータ型を指定します。
    データ型とは、「String」や「Integer」などを指します。

    またダイアモンド構文を用いて下記のように記載することも可能です。

    右側のデータ型が省略されていることがご確認頂けます。

    Listに値を追加してみよう

    Listの初期化が完了すれば次に値の追加が必要になります。

    値を追加する方法としては「add」メソッドを利用する方法があります。

    JavaでListを初期化するタイミングで初期値も設定してみよう


    Listを初期化するタイミングで同時に初期値を設定する方法はいくつか存在します。

    ポテパンダの一言メモ

    メソッドによってはデータ領域が固定されるため注意が必要です。

    asListで初期値を設定するとリストに追加出来ない?!

    Listの初期化でよく利用されるメソッドに「asList」があります。

    まずはサンプルコードで使い方についてご紹介していきます。

    実行した結果が下記の通りとなります。

    ※1の行で初期値を設定していることがご確認頂けます。

    しかし注意して頂きたいのがサンプルコードのように「asList」メソッドで初期値を設定した場合、Listに新たに値を設定することが出来なくなります。

    下記のサンプルはコンパイルすることは可能ですが、実行時にエラーとなるので確認してみましょう。

    実行した結果が下記の通りとなりました。

    java.lang.UnsupportedOperationExceptionが出力されていることをご確認頂けます。

    原因はサンプルのような記述法でasListを使用した場合、あらかじめ決められたサイズのリストを定義し、値の追加・削除をすることが出来ない仕様となっているためです。

    asListは書き方によっては値の追加・削除が可能

    上記のサンプルではasListメソッドではリストに追加・削除出来ないとご紹介しましたが、ArrayListのコンストラクタに指定することでリストのサイズを決めずに初期値を設定することも可能です。

    今回のサンプルではリストを初期化する際に、new ArrayListの引数としてasListメソッドを利用しています。
    実行した結果が下記の通りとなります。

    エラーとならずにListに値が追加されていることがご確認頂けます。

    同じ「asList」メソッドでも記述方法によって、初期化後にListへ追加・削除出来るどうかが決まりますので注意が必要です。

    addメソッドを利用して初期値を追加することも可能

    最初にご紹介したnew演算子とaddメソッドを応用して、Listの初期化時に初期値まで設定してしまうことも可能です。

    サンプルコードを実行した結果が下記の通りとなります。

    出力結果は1つ前のサンプルと全く同じ結果となっていることがご確認頂けます。

    さいごに:JavaでListの初期化および初期値の設定は記述方法に気を付けよう!

    本記事では、JavaでのListの初期化方法と値の追加、初期値設定の方法についてご紹介してきました。

    Listへの初期値設定は余程の理由が無ければ、最初のサンプルとして紹介した「Arrays.asList」を使用することは避けるべきというのが昨今の風潮です。

    ハードウェアのメモリ搭載量も増えていますので、無駄にバグを生むような実装はせず、2つ目や3つ目のサンプルでご紹介した初期値設定の方法を利用することをお勧めします。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE