Java Ітератор
Java Ітератор
Iterator – це об’єкт, який можна використовувати для циклічного перегляду колекцій, наприклад ArrayList та HashSet. Він називається "ітератор", тому що "ітерація" є технічним терміном для циклу.
Щоб використовувати ітератор, ви повинні імпортувати його з пакета java.util.
Отримання ітератора
Метод iterator() можна використовувати для отримання Iterator для будь-якої колекції:
Приклад
// Імпорт класу ArrayList та класу Iterator
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// Зробити колекцію
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// Отримати ітератор
Iterator<String> it = cars.iterator();
// Роздрукувати перший елемент
System.out.println(it.next());
}
}
Спробуйте самі »
Перебирання колекції
Щоб перебрати колекцію, використовуйте hasNext() і next() методи Iterator:
Видалення елементів із колекції
Ітератори призначені для легкої зміни колекцій, які вони проходять. Метод 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 не спрацює належним чином, оскільки колекція змінює розмір у той самий час, коли код намагається виконати цикл.

