【Java】getを使ってリスト(List)から要素を取り出す!
リスト(List)から要素を取り出す場合にはListクラスのgetメソッドを使用します。
Listクラスのgetメソッドは、リスト要素を取得するメソッドであり、実際に処理に使用したいリストのデータを取り出したい場合に使われます。
また、for文と組み合わせることでリストのデータを一気に取り出すことも可能です。
今回はListクラスのgetメソッドを使って以下の場合でリスト(List)から要素を取り出します。
⚫︎ リストから要素を取り出す場合
⚫︎ リストの要素を順番に取り出す場合
⚫︎ リストの要素数以上のインデックスを指定する場合
目次
getメソッドとは
Listクラスのgetメソッドは、リストの要素を取得するメソッドとなります。
getメソッドの書き方
getメソッドの構文は下記となります。
1 |
list.get(インデックス); |
パラメータ
⚫︎ インデックス:
取り出したいリストの要素の番号をインデックスとして指定する
getの()にインデックスを指定することで指定したインデックスの要素を取得します。
インデックスのスタート「0」からであり、一番最後の要素のインデックスは「要素数-1」となります。
例えば「list1.get(1);」とすると、list1の2番目の要素を取り出します。
また、要素数以上のインデックスを指定するとエラーが発生します。
リストから要素を取り出すサンプルコード
リストから要素を取り出すサンプルコードを紹介します。
リストから要素を取り出す場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// リストから要素を取り出す import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws Exception { //リストを作成 List<String> listA = new ArrayList<String>(); //リストに要素を追加 listA.add("あいうえお"); listA.add("かきくけこ"); listA.add("さしすせそ"); listA.add("たちつてと"); //リストから要素を取り出す System.out.println("リストの中身:" + listA); System.out.println("1番目の要素:" + listA.get(1)); System.out.println("0番目の要素:" + listA.get(0)); } } |
出力結果
リストの中身:[あいうえお, かきくけこ, さしすせそ, たちつてと]
1番目の要素:かきくけこ
0番目の要素:あいうえお
getメソッドで指定したインデックスの要素を取得しています。
リストの要素を順番に取り出す場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws Exception { //リストを作成 List<String> listB = new ArrayList<String>(); //リストに要素を追加 listB.add("あいうえお"); listB.add("かきくけこ"); listB.add("さしすせそ"); listB.add("たちつてと"); //リストから要素を取り出す System.out.println("リストの中身:" + listB); for(int i = 1; i <= 4; i++) { System.out.println(i + "番目の要素:" + listB.get(i-1)); } } } |
出力結果
リストの中身:[あいうえお, かきくけこ, さしすせそ, たちつてと]
1番目の要素:あいうえお
2番目の要素:かきくけこ
3番目の要素:さしすせそ
4番目の要素:たちつてと
for文と組み合わせることでリストの要素を一気に取得することができます。
リストの要素数以上のインデックスを指定する場合
addメソッドにリストの要素数以上のインデックスを指定してみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// リストから要素を取り出す import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws Exception { //リストを作成 List<String> listC = new ArrayList<String>(); //リストに要素を追加 listC.add("あいうえお"); listC.add("かきくけこ"); listC.add("さしすせそ"); listC.add("たちつてと"); //リストから要素を取り出す System.out.println("リストの中身:" + listC); System.out.println("9番目の要素:" + listC.get(9)); } } |
出力結果
Exception in thread “main” java.lang.IndexOutOfBoundsException: Index 9 out of bounds for length 4
「取り出すインデックスの指定がおかしい」というエラーが発生します。
今回のポイント
getでリストから要素を取り出す
リストから要素を取り出すにはListクラスのgetメソッドを使用する。
⚫︎ Listクラスのgetメソッドでリストから要素を取り出す
⚫︎ リストの一番最初の要素のインデックスは「1」ではなく「0」である
⚫︎ リストの要素数以上の数値をインデックスに指定すると「IdexOutOfBoundsException」例外が発生する
関連記事
リスト(List)に要素を追加するaddメソッドについてはこちらをご参考ください。
リスト(List)の要素数を調べるsizeメソッドについてはこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。