リストを扱う!Javaでarraylistを使う方法【初心者向け】

初心者向けにJavaでarraylistを使う方法について解説しています。リストの作成方法から要素の追加や置き換え、削除方法まで一通りの操作を覚えていきましょう。実際にソースコードを書きながら説明しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

この記事では、Javaコレクションフレームワークの、ArrayListについて解説します。

実際にプログラムを書いて説明しているので、ぜひ理解しておきましょう。

 

なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

arraylistの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

arraylistとは

リストは配列とよく似ており、値の集合を扱う為に利用します。

リストは要素が追加された順番を保持します。又重複した要素もそのまま保持することができます。

 

arraylistの書き方

ArrayList<型> リスト名 = new ArrayList<型>();

型の部分にはクラス名を指定します。
ここで指定したクラスのオブジェクトを要素として格納できるようになります。

例えば、

ArrayList<String> strList = new ArrayList<String>();

とすると、strList には、Stringの要素を格納できます。

リストの要素は参照型である必要があるため、intのような基本データ型を要素にもつリストは作成できません。

基本型を扱うリストを作成したい場合は、下記のようにラッパークラスを用いて定義しましょう。(Integerクラスはint型のラッパークラスです。)

ArrayList<Integer> intList = new ArrayList<Integer>();

 

[PR] Javaで挫折しない学習方法を動画で公開中

実際に書いてみよう

定義したリストに対し要素の追加、更新、削除を行います。

リストに要素を追加する場合は、List.addメソッドを使います。

追加したい要素をaddメソッドの引数として渡します。指定した要素はリストの最後に追加されます。

ソースコード

public static void main(String[] args) {

  // Stringの要素を格納するためのリストを用意
  List<String> strList1 = new ArrayList<String>();

  strList1.add("北海道");
  strList1.add("東京");
  strList1.add("沖縄");

  // 追加した順にリストに入る
  System.out.println(strList1);

}

実行結果

[北海道, 東京, 沖縄]

 

リストの要素を上書きする場合はList.setメソッドを使います。

第一引数で何番目の要素を上書きしたいか(0番から始まります)を指定し、第二引数で上書き後の要素を指定します。

ソースコード

public static void main(String[] args) {

  // Stringの要素を格納するためのリストを用意
  List<String> strList2 = new ArrayList<String>(3);

  strList2.add("カナダ");
  strList2.add("アメリカ");
  strList2.add("メキシコ");

  // 追加した順にリストに入る
  System.out.println("更新前" + strList2);

  // 1番目の要素を"日本"に上書きする
  strList2.set(1, "日本");

  // 上書き後のリスト("アメリカ"→"日本"になっている)
  System.out.println("更新後" + strList2);

}

実行結果

更新前[カナダ, アメリカ, メキシコ]
更新後[カナダ, 日本, メキシコ]

 

リストから値を取り出す場合は、List.getメソッドを使います。引数で何番目の要素を取り出したいかを指定します。

ソースコード

public static void main(String[] args) {

  // Stringの要素を格納するためのリストを用意
  List<String> strList3 = new ArrayList<String>(3);
 
  strList3.add("ロシア");
  strList3.add("モンゴル");
  strList3.add("中国");

  // リストから2番目の値を取得して表示 
  System.out.println(strList3.get(2));

 }

実行結果

中国

 

リストから要素を削除する場合は、List.removeメソッドを使います。引数で何番目の要素を削除したいかを指定します。

ソースコード

public static void main(String[] args) {

  // Stringの要素を格納するためのリストを用意
  List<String> strList4 = new ArrayList<String>(3);

  strList4.add("サウジアラビア");
  strList4.add("エチオピア");
  strList4.add("南アフリカ共和国");

  // リストから"エチオピア"が削除されている
  System.out.println("削除前" + strList4);

  // 1番目の要素を削除する
  strList4.remove(1);

  // リストから"エチオピア"が削除されている
  System.out.println("削除後" + strList4);

  // リストから1番目の値を取得して表示。
  System.out.println(strList4.get(1));

}

実行結果

削除前[サウジアラビア, エチオピア, 南アフリカ共和国]
削除後[サウジアラビア, 南アフリカ共和国]
南アフリカ共和国

元々1番目の要素だったエチオピアが削除され、代わりにひとつ後ろの南アフリカ共和国が1番目になっています。

 

入門向けJavaの学習サイトもまとめているので、合わせてご覧ください。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。