English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java フロー制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 異常処理

Java リスト(List)

Java Queue(キュー)

Java Mapコレクション

Java Setコレクション

Java 入出力(I/O)

Java Reader/Writer

Java その他のトピック

Java Iterator インターフェース

このチュートリアルでは、Java Iteratorインターフェースの例を通じて学びます。

JavaコレクションフレームワークのIteratorインターフェースは、コレクションの要素にアクセスを許可し、ListIteratorというサブインターフェースがあります。

すべてのJavaコレクションにはiterator()メソッドが含まれており、このメソッドはコレクションの要素を巡回するための迭代器インスタンスを返します。

迭代器のメソッド

Iteratorインターフェースは提供しています4これらのメソッドは、集合の要素に対して様々な操作を実行するために使用できます。

  • hasNext() - 集合に要素が存在する場合、trueを返す

  • next() - 集合の次の要素を返す

  • remove() -next()が返した最後の要素を削除

  • forEachRemaining() - 集合の各残存要素に対して指定の操作を実行

例:Iteratorの実装

以下の例では、配列リストにIteratorインターフェースのhasNext()、next()、remove()、forEachRemining()メソッドを実装しました。

import java.util.ArrayList;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //ArrayListを作成
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        //Iteratorのインスタンスを作成
        Iterator<Integer> iterate = numbers.iterator();
        //next()メソッドを使用
        int number = iterate.next();
        System.out.println("アクセス要素: " + number);
        //remove()メソッドを使用して
        iterate.remove();
        System.out.println("要素の削除: " + number);
        System.out.print("更新後の ArrayList: ");
        //hasNext()メソッドを使用して
        while(iterate.hasNext()) {
            //forEachRemaining()メソッドを使用して
            iterate.forEachRemaining((value -> System.out.print(value + ", "));
        }
    }
}

出力結果

ArrayList: [1, 3, 2]
要素のアクセス: 1
要素の削除: 1
更新後の ArrayList: 3, 2,

上記の例では、以下の文に注意してください:

iterate.forEachRemaining((value -> System.put.print(value + ", "));

ここでは、以下を行います。ラムダ式forEachRemaining()メソッドの引数として渡されます。

今、このメソッドは配列リストの残りのすべての要素を出力します。