English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Java Iteratorインターフェースの例を通じて学びます。
JavaコレクションフレームワークのIteratorインターフェースは、コレクションの要素にアクセスを許可し、ListIteratorというサブインターフェースがあります。
すべてのJavaコレクションにはiterator()メソッドが含まれており、このメソッドはコレクションの要素を巡回するための迭代器インスタンスを返します。
Iteratorインターフェースは提供しています4これらのメソッドは、集合の要素に対して様々な操作を実行するために使用できます。
hasNext() - 集合に要素が存在する場合、trueを返す
next() - 集合の次の要素を返す
remove() -next()が返した最後の要素を削除
forEachRemaining() - 集合の各残存要素に対して指定の操作を実行
以下の例では、配列リストに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()メソッドの引数として渡されます。
今、このメソッドは配列リストの残りのすべての要素を出力します。