スポンサーリンク
Java

【Java】List型の使い方

Java

Listの定義の仕方、初期化の仕方、

Listと配列の違いについても見ていきましょう。

Listとは何か

データを順番通りに格納し

追加や削除が可能でこの動作を行っても

整列させてくれるコレクションです。

Listを使ってできること

複数のデータを一元管理できます。

たくさんの変数を用意してそれぞれに格納することも可能ですが、

コードが肥大化してしまい、可読性が下がります。

そこで利用するのがListです。

複数のデータの管理を得意とします。

Listと配列の違い

Listは入れるデータ量を指定することなく使用でき、

配列は初期化を行う段階で要素数を指定しなければなりません。

Listのほうが利便性が高く、なんでも

Listでいいんじゃないか?と思いますが、

定義した段階で使用することのない容量まで

確保してしまう点とデータを入れる個数が決まっている場合

誤ってデータの個数を増やしてしまうといった

エラーにつながりやすいので

適宜使い分けることを心がけましょう。

データの個数が決まっていれば、配列

そうでなければList。といったイメージで大丈夫です。

実際のコード

百聞は一見にしかずということで見ていきましょう。

Listの定義の仕方

Listは格納するデータの型を初期化時に宣言する必要があります。

List<入れたいデータ型> オブジェクト名 = new ArrayList<入れたいデータ型>();

もちろん宣言した型以外の要素を追加することはできません。

Listを使用する

「List」と「ArrayList」をインポートが必要です。

格納したデータはインデックス「0」スタートとなります。

コード内で使用するメソッド

メソッド意味
add()要素の追加
get()要素の取り出し
contains()Listの中に対象データがあるか確認
import java.util.List;
import java.util.ArrayList;

public class Main {
     public static void main (String args[]) {

         // リストを宣言する
         List<Integer> numList = new ArrayList<Integer>();

         // データを追加する
         numList.add(1);
         numList.add(2);
         numList.add(3);

         // 中身を出力
         System.out.println(numList.get(0));
         System.out.println(numList.get(1));
         System.out.println(numList.get(2));

         // for文を利用して簡潔にデータを取り出す方法
         System.out.println("for文を使用した場合");
         for (Integer num : numList) {
            System.out.println(num);
         }
     }
}
実行結果
1
2
3
for文を使用した場合
1
2
3

Listの定義、格納、表示の基本的な流れです。

contains()を利用してデータの存在確認

Listの中に対象データがあるか確認を行う方法です。

いくつか方法はありますが、当記事では

contains()メソッドを利用した方法を紹介します。

containsメソッドの戻り値はbooleanで

データがあった場合、trueを返しそうでない場合

falseを返します。

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

for(int num : list) {
     if (list.contains(4)) {
         System.out.println("listに4が含まれてます");
     } else if (list.contains(1)) {
         System.out.println("listに1が含まれてます");
     }
}
実行結果
listに1が含まれてます