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 не спрацює належним чином, оскільки колекція змінює розмір у той самий час, коли код намагається виконати цикл.