カテゴリ: Java 更新日: 2026/02/12

JavaのArrayListクラスとlistIteratorメソッドを完全解説!初心者でもわかる双方向反復処理

ArrayListのlistIteratorメソッド
ArrayListのlistIteratorメソッド

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

生徒

「Javaでリスト内の要素を前後どちらにも移動しながら処理する方法はありますか?」

先生

「その場合は、ArrayListクラスのlistIteratorメソッドを使うと便利です。このメソッドを使えば、リスト内の要素を前後に移動しながら操作できますよ。」

生徒

「便利そうですね!具体的な使い方を教えてください!」

先生

「では、listIteratorメソッドの基本的な使い方を見ていきましょう!」

1. ArrayListクラスとは?

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

ArrayListは、Javaのコレクションフレームワークに属するクラスで、動的なサイズのリストを提供します。このリストは、データの追加や削除が簡単で、柔軟な操作が可能です。

以下は、ArrayListの基本的な使用例です。


import java.util.ArrayList;

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

        System.out.println("リストの内容: " + items);
    }
}

このコードでは、ArrayListを使用してリストを作成し、データを格納しています。

2. listIteratorメソッドとは?

2. listIteratorメソッドとは?
2. listIteratorメソッドとは?

listIteratorメソッドは、リスト内の要素を前後に移動しながら反復処理を行うためのListIteratorオブジェクトを返します。このオブジェクトを使えば、リストを双方向に操作できるのが特徴です。

以下は、listIteratorメソッドの基本的な例です。


import java.util.ArrayList;
import java.util.ListIterator;

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

        ListIterator<String> iterator = items.listIterator();

        // 前方向に移動
        while (iterator.hasNext()) {
            System.out.println("アイテム: " + iterator.next());
        }

        // 後方向に移動
        while (iterator.hasPrevious()) {
            System.out.println("逆方向アイテム: " + iterator.previous());
        }
    }
}

このコードを実行すると、リスト内の要素が順方向と逆方向に出力されます。

3. listIteratorメソッドの特徴と注意点

3. listIteratorメソッドの特徴と注意点
3. listIteratorメソッドの特徴と注意点

listIteratorメソッドを使用する際の特徴と注意点は以下の通りです。

  • 双方向の移動が可能: ListIteratorを使えば、要素を前後に移動しながら操作できます。
  • 追加・削除のサポート: addremoveメソッドを使用して要素を動的に追加または削除できます。
  • インデックス情報の取得: 現在のインデックスをnextIndexpreviousIndexメソッドで取得できます。

以下は要素の追加と削除の例です。


import java.util.ArrayList;
import java.util.ListIterator;

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

        ListIterator<String> iterator = items.listIterator();

        // アイテムを動的に追加
        while (iterator.hasNext()) {
            String item = iterator.next();
            if (item.equals("Banana")) {
                iterator.add("Blueberry");
            }
        }

        System.out.println("更新後のリスト: " + items);
    }
}

この例では、リストの中に新しい要素を追加しています。

4. 実践例: 条件に応じた操作

4. 実践例: 条件に応じた操作
4. 実践例: 条件に応じた操作

以下の例では、リスト内の特定の条件に合致する要素を削除します。


import java.util.ArrayList;
import java.util.ListIterator;

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

        ListIterator<String> iterator = fruits.listIterator();

        while (iterator.hasNext()) {
            String fruit = iterator.next();
            if (fruit.startsWith("B")) {
                iterator.remove();
            }
        }

        System.out.println("条件適用後のリスト: " + fruits);
    }
}

このプログラムでは、リスト内の要素の中から条件に合致するものを削除しています。

5. まとめ

5. まとめ
5. まとめ

今回は、JavaのArrayListクラスのlistIteratorメソッドについて解説しました。このメソッドを利用することで、リスト内の要素を前後に移動しながら操作できるため、反復処理やデータの編集が柔軟に行えます。また、条件に基づいた要素の追加や削除も可能で、ListIteratorを活用することで、コードの可読性や効率が向上します。

初心者の方にとって、listIteratorメソッドは少し複雑に感じるかもしれませんが、基本的な操作方法を理解することで、データ操作の幅が広がります。今回のサンプルコードを参考に、実際にコーディングしてみてください。

以下は、今回の内容を整理したサンプルコードです。


import java.util.ArrayList;
import java.util.ListIterator;

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

        ListIterator<String> iterator = items.listIterator();

        System.out.println("順方向でリストを反復処理:");
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        System.out.println("逆方向でリストを反復処理:");
        while (iterator.hasPrevious()) {
            System.out.println(iterator.previous());
        }
    }
}
先生と生徒の振り返り会話

生徒

listIteratorメソッドの使い方がよくわかりました!前後に移動できるのはとても便利ですね。」

先生

「そうですね。双方向の操作が必要な場面では非常に役立ちます。また、要素の追加や削除も簡単に行えるのがポイントです。」

生徒

「コードを書くときに、条件に基づいてリストを編集する方法も試してみたいと思います。」

先生

「ぜひ実践してみてください。操作に慣れることで、リストの扱いがさらに楽になりますよ。」

Javaの基礎を最初から体系的に学びたい人には、 初心者向けで定評のある定番入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

カテゴリの一覧へ
新着記事
New1
Spring
Spring Bootの設定・プロパティ・プロファイルの外部化優先順位を完全解説!初心者にもわかる設定ファイルの読み込み順
新規投稿
New2
Spring
SpringDataJPAのJPAクエリメソッド「Not」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説
更新記事
New4
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
新規投稿
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.6
Java&Spring記事人気No6
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク