TECH I.S.

Java イテレータ


Java イテレータ

Iteratorは、ArrayListHashSetなどのコレクションをループするために使用できるオブジェクトです。「反復」はループの専門用語であるため、「イテレータ」と呼ばれます。

イテレータを使用するには、java.utilパッケージからイテレータをインポートする必要があります。


イテレータを取得する

iterator()メソッドを使用すると、任意のコレクションの Iterator を取得できます。

// Import the ArrayList class and the Iterator class import java.util.ArrayList; import java.util.Iterator; public class Main { public static void main(String[] args) { // Make a collection ArrayList<String> cars = new ArrayList<String>(); cars.add("Volvo"); cars.add("BMW"); cars.add("Ford"); cars.add("Mazda"); // Get the iterator Iterator<String> it = cars.iterator(); // Print the first item System.out.println(it.next()); } }

自分で試してみる»


コレクションのループ

コレクションをループするには、IteratorhasNext()メソッドとnext()メソッドを使用します。

while(it.hasNext()) { System.out.println(it.next()); }

自分で試してみる»



コレクションからアイテムを削除する

イテレータは、ループするコレクションを簡単に変更できるように設計されています。remove()メソッドは、ループ中にコレクションからアイテムを削除できます。

イテレータを使用して、コレクションから 10 未満の数値を削除します。

import java.util.ArrayList; import java.util.Iterator; public class Main { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); numbers.add(12); numbers.add(8); numbers.add(2); numbers.add(23); Iterator<Integer> it = numbers.iterator(); while(it.hasNext()) { Integer i = it.next(); if(i < 10) { it.remove(); } } System.out.println(numbers); } }

自分で試してみる»

注:forループまたはfor-eachループを使用して項目を削除しようとすると、コードがループしようとしていると同時にコレクションのサイズが変更されるため、正しく機能しません。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細