コレクションを扱う!JavaでListを使う方法【初心者向け】
初心者向けにJavaでListを扱う方法について解説しています。コレクションとは何なのかや配列との違いについて説明しています。書き方もサンプルプログラムを書いて説明しているので、実際に書きながら理解していきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
初心者向けにJavaで書くListについて解説。Listの書き方から実際に書いてみたサンプルを紹介しながら説明しています。
Javaエンジニアを目指している人は今のうちに覚えておきましょう。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説している記事をまずご覧ください。
なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。
今回はJavaのListを使ってみよう。
田島メンター!Listは何に使うんですか~?
これはデータ構造のひとつで、複数の要素を扱うものなんだ。まずはどういった性質のものなのか見ていくよ。
お願いします!
Listとは
Listとは、順序付けられたコレクションで、「シーケンス」とも呼ばれます。
コレクションは要素となる同じ型のデータの集合体です。コレクションにはList以外にも他にもMapやSetと言ったものもあります。
Listのイメージは配列に近いです。配列も同じ型の要素の集まりで、前から順番に連なっている形になっています。
順序付けられた、と言うのはそういう意味になります。
Listの基本的な概要だね。
こうやって見ると、配列との違いがよく分かりませんね。
では次は、Listと配列の違いについても解説しよう。
配列との違い
Listと配列は似ている、と感じるかもしれませんが、いくつか違いがあります。
最大の違いは、配列は一度要素の数を決めたら変更できないのに対し、Listは後から要素の数を変えることが可能です。
また、配列は宣言時に配列にしたいデータ型は必ず決まっていますが、Listは決めることもできますし、決めないようにもできます。
Listの方が配列より柔軟なのです。
Listの書き方
Listはインターフェース(メソッドの戻り値、メソッド名、引数だけ規定したもの)なので、実際に使う場合はListインターフェースを実装したクラスを使います。
一番代表的な実装クラスはArrayListで可変長の配列のような実装クラスです。その他は、LinkedListやStackなどの実装クラスがあります。
書き方ですが、
List list = new ArrayList();
という形で宣言します。
<String>の部分がジェネリクスといい、必要ならこのListに入るデータ型を指定します。ここにはIntegerや自分で定義したクラス名などを指定します。
(ジェネリクスの指定は必須ではありませんが、指定するようにしましょう。)
注意点としては、基本データ型はここに指定することができませんので気をつけましょう。
Listに規定されているメソッドはたくさんありますが、代表的なものは、以下になります。最低限書き方を覚えておくと良いでしょう。
// 要素の追加 List#add // 特定の要素の削除 List#remove // すべての要素を削除 List#clear // 要素の参照 List#get // 現在の要素の数を返す List#size // リストに何も要素がない場合trueを、一つでもあった場合はfalseを返す List#isEmpty
実際に書いてみよう
ここでは、Listを生成し、要素を追加、参照、削除といった一連の処理を例にコードを書いてみます。
List list = new ArrayList(); list.add("Hello"); list.add("Bonjour"); list.add("Guten Tag"); list.add("Hola"); list.add("こんにちは"); int size = list.size(); for(int i = 0; i < size; i++) { System.out.println(list.get(i)); } list.remove(3); //4番目の要素を削除 size = list.size(); for(int i = 0; i < size; i++) { System.out.println(list.get(i)); } list.clear(); //要素を全て削除 System.out.println(list.isEmpty());
配列とは違い、Listを使うと要素の追加や削除などは簡単に行うことができます。
入門向けJavaの学習サイトもまとめているので、合わせてご覧ください。
文字列をいくつか格納したListを作成し、そこから指定の項目を削除してみたよ。
このようにあとから要素の数を変更できるのが、Listの特徴なんですね。
そして逆に、生成時の要素数がそのまま固定されるのが配列ということだね。状況に応じて使い分けてみよう。
はい!ありがとうございます!
また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。
JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。