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が含まれてます