カテゴリ: Java 更新日: 2025/12/04
PR
独学でJavaを学んでいる方向け
「実務レベルに到達できるか不安」「1人だと詰まることが多い」場合は、 実践重視で学べる環境を一度確認しておくのも一つの手です。
EBAエデュケーション |学習内容・サポートを見る

JavaのArrayListクラスとgetメソッドの使い方を徹底解説!初心者でもわかるデータ操作

ArrayList のget メソッド
ArrayList のget メソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaでリストにあるデータを取り出す方法ってありますか?」

先生

「はい、JavaではArrayListクラスを使ってリストを作成し、getメソッドで要素を取り出すことができます。」

生徒

「そのArrayListって何ですか?」

先生

ArrayListは、Javaで提供されているコレクションクラスの一つで、可変長のリストを扱うためのものです。サイズを動的に変更でき、データの追加や削除が簡単に行えます。」

1. ArrayListクラスとは?

1. ArrayListクラスとは?
1. ArrayListクラスとは?

ArrayListクラスは、Javaのjava.utilパッケージに含まれており、動的配列のような働きをします。ArrayListの便利な特徴は以下の通りです。

  • 可変長:要素の追加や削除が容易。
  • インデックスによるアクセス:指定したインデックスで要素を取り出すことができる。

これにより、ArrayListはデータを柔軟に扱いたい場合に非常に有用です。Javaプログラムで使用するにはimport java.util.ArrayList;を記述する必要があります。

2. getメソッドの使い方

2. getメソッドの使い方
2. getメソッドの使い方

getメソッドは、指定したインデックスの要素を取得するために使用されます。基本的な使い方を見てみましょう。


import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");

        // インデックス2の要素を取得
        String fruit = fruits.get(2);
        System.out.println("取得したフルーツ: " + fruit);
    }
}

このコードでは、fruitsリストに3つの要素を追加し、インデックス2の要素Cherrygetメソッドで取得しています。


取得したフルーツ: Cherry
PR

将来を見据えて、+αのスキルを身につけたい方へ

JavaやLinuxを学んでいても、「このままで市場価値は上がるのか」 「キャリアの選択肢を広げたい」と感じる方は少なくありません。

AIを学ぶならアイデミープレミアム

3. getメソッド使用時の注意点

3. getメソッド使用時の注意点
3. getメソッド使用時の注意点

getメソッドを使う際には、いくつか注意が必要です。

  • インデックス範囲外エラー:存在しないインデックスを指定すると、IndexOutOfBoundsExceptionがスローされます。リストのサイズを確認してから使用することをお勧めします。
  • ゼロベースインデックス:ArrayListのインデックスは0から始まるため、get(0)で最初の要素が取得されます。

例えば、インデックスの範囲外エラーが発生する例を見てみましょう。


import java.util.ArrayList;

public class ArrayListErrorExample {
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<>();
        items.add("Item1");

        // 存在しないインデックスを取得しようとするとエラー
        try {
            String item = items.get(3);
        } catch (IndexOutOfBoundsException e) {
            System.out.println("エラー: インデックスが範囲外です。");
        }
    }
}

エラー: インデックスが範囲外です。

4. for文・拡張for文とgetメソッドを組み合わせて使う

4. for文・拡張for文とgetメソッドを組み合わせて使う
4. for文・拡張for文とgetメソッドを組み合わせて使う

ArrayListgetメソッドは、for文や拡張for文と組み合わせることで、すべての要素を順番に取り出すことができます。複数のデータをまとめて処理したいときに便利です。


import java.util.ArrayList;

public class ArrayListForExample {
    public static void main(String[] args) {
        ArrayList<String> languages = new ArrayList<>();
        languages.add("Java");
        languages.add("Python");
        languages.add("JavaScript");

        // 通常のfor文とgetメソッドで要素を取り出す
        for (int i = 0; i < languages.size(); i++) {
            String lang = languages.get(i);
            System.out.println("インデックス " + i + " の要素: " + lang);
        }

        // 拡張for文で要素を取り出す(getは不要)
        for (String lang : languages) {
            System.out.println("拡張for文で取り出した要素: " + lang);
        }
    }
}

通常のfor文では、iというインデックスを使ってget(i)で要素を取り出します。一方、拡張for文ではインデックスを意識せず、リストの要素を順番に処理できます。


インデックス 0 の要素: Java
インデックス 1 の要素: Python
インデックス 2 の要素: JavaScript
拡張for文で取り出した要素: Java
拡張for文で取り出した要素: Python
拡張for文で取り出した要素: JavaScript

JavaのArrayListを使う際には、for文とgetメソッドを組み合わせる基本パターンを覚えておくと、データ操作の幅が広がります。

5. sizeメソッドとgetメソッドでインデックス範囲を安全に扱う

5. sizeメソッドとgetメソッドでインデックス範囲を安全に扱う
5. sizeメソッドとgetメソッドでインデックス範囲を安全に扱う

ArrayListには、要素数(サイズ)を取得するためのsizeメソッドがあります。getメソッドを使う前にsizeで範囲を確認することで、IndexOutOfBoundsExceptionを防ぎやすくなります。


import java.util.ArrayList;

public class ArrayListSizeExample {
    public static void main(String[] args) {
        ArrayList<String> animals = new ArrayList<>();
        animals.add("Dog");
        animals.add("Cat");

        int index = 1;

        // sizeを使ってインデックスが範囲内かチェック
        if (index >= 0 && index < animals.size()) {
            String animal = animals.get(index);
            System.out.println("取得した動物: " + animal);
        } else {
            System.out.println("エラー: インデックスが範囲外です。(size: " + animals.size() + ")");
        }

        // すべての要素を安全にループ
        for (int i = 0; i < animals.size(); i++) {
            System.out.println("animals.get(" + i + "): " + animals.get(i));
        }
    }
}

sizeメソッドは、現在リストに何個の要素が入っているかを返します。0以上、size()未満のインデックスであれば、getメソッドで安全に要素を取得できます。


取得した動物: Cat
animals.get(0): Dog
animals.get(1): Cat

Javaのリスト操作では、ArrayListsizegetをセットで覚えておくことで、インデックス範囲外のエラーを事前に回避しやすくなります。

6. オブジェクトを格納したArrayListからgetメソッドで取り出す

6. オブジェクトを格納したArrayListからgetメソッドで取り出す
6. オブジェクトを格納したArrayListからgetメソッドで取り出す

ArrayListには、Stringだけでなく自分で定義したクラスのオブジェクトも格納できます。Javaのジェネリクスを使うことで、getメソッドで取り出したときに型がはっきりしているため、キャストなしで安全に扱えます。


import java.util.ArrayList;

class Student {
    private String name;
    private int score;

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public int getScore() {
        return score;
    }
}

public class ArrayListObjectExample {
    public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<>();
        students.add(new Student("Alice", 90));
        students.add(new Student("Bob", 80));

        // インデックス0のStudentオブジェクトを取得
        Student s = students.get(0);
        System.out.println("名前: " + s.getName() + ", 点数: " + s.getScore());

        // ループで全員分を表示
        for (int i = 0; i < students.size(); i++) {
            Student st = students.get(i);
            System.out.println("[" + i + "] " + st.getName() + " さんの点数: " + st.getScore());
        }
    }
}

このように、ArrayList<Student>のように型を指定しておくと、getメソッドで取り出した値の型もStudentになります。JavaのArrayListgetメソッドは、単純な文字列だけでなくオブジェクトの一覧管理にもよく使われるパターンです。


名前: Alice, 点数: 90
[0] Alice さんの点数: 90
[1] Bob さんの点数: 80

実務のJavaプログラムでも、ArrayListにオブジェクトを入れてgetメソッドで取り出す形は頻出です。初心者のうちから「リストにオブジェクトを入れる」イメージに慣れておくと、今後の学習がスムーズになります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaのArrayListクラスとは何ですか?初心者でもわかるように説明してください。

JavaのArrayListクラスは、java.utilパッケージに含まれる可変長のリスト構造です。データの追加や削除が柔軟にでき、インデックス番号でアクセスできる便利なコレクションクラスです。
カテゴリの一覧へ
新着記事
PR

JavaやLinuxの検証環境に
低コストで使えるVPS

Spring Data JPAのJpaRepositoryインターフェースの使い方を完全ガイド!初心者でも安心
JSPの実行の流れをフローで理解!サーブレットとの関係性と処理順序を理解しよう
JavaのLocalDateTimeクラスとisAfterメソッドを完全ガイド!初心者でもわかる日時比較
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
PR 未経験からITエンジニアを目指す方へ

Javaを学んでいるけど、「このまま未経験で就職できるか不安」という20代向け。 学歴不問・無料サポートの就職支援という選択肢があります。

Tamesy |無料で面談予約
人気記事
No.1
Java&Spring記事人気No1
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.2
Java&Spring記事人気No2
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.5
Java&Spring記事人気No5
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
PR

ローカルPCに依存しない開発環境という選択肢

Java・Linuxの検証や学習環境を、クラウド上ですぐに用意できます。

Java入門

Javaの基礎を体系的に学びたい場合は、文法だけでなく 「なぜそう書くのか」まで丁寧に解説されているため、 初心者でも理解しやすい定番の1冊です。

スッキリわかるJava入門 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Java実践

ジェネリクス、enum、シールクラスなどの型設計から、 関数型プログラミング(ラムダ式・Stream API)、 JVM制御やリフレクション、外部ライブラリの活用までを扱っており、 「Javaを使えるレベル」へ進むための内容が網羅されています。

スッキリわかるJava入門 実践編 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Spring入門

Spring Frameworkの全体像から、 Webアプリ開発で必要となる主要機能までを 体系的に解説している定番の入門書です。

Spring徹底入門 第2版 Spring FrameworkによるJavaアプリケーション開発

※ 紙の書籍・電子書籍どちらでも購入できます

PR 実務経験のあるエンジニア向け

Javaなどの実務経験があり、次のキャリアを検討している方向け。 IT・ゲーム業界に特化した転職支援サービスという選択肢もあります。

転職ボックス |IT・ゲーム業界専門