Итераторы в Java

Веб-разработка на Java Программирование и разработка

В Java чаще всего используется концепция Collection, которая представляет собой не что иное, как группу элементов. Для обхода каждого элемента коллекции используются итераторы Java. Поскольку java — это объектно-ориентированный язык программирования, он позволяет нам динамически хранить данные, поэтому для обхода динамически сохраненных элементов мы можем использовать итераторы java.

Что такое итератор

Концепция итератора может использоваться для обхода элементов, которые хранятся динамически. Его можно использовать для обхода классов коллекций, таких как ArrayList и LinkedList.

Как импортировать класс итератора

Нам нужно выполнить пару шагов, чтобы воспользоваться функциями итератора:

На первом этапе нам нужно импортировать класс Iterator из пакета java.util :

import java.util.Iterator;

Как получить итератор

Чтобы получить итератор для коллекции, все, что нам нужно сделать, это использовать метод iterator() с любой коллекцией, такой как ArrayList, LinkedList:

Iterator<String> obj = arrayListObject.iterator();

В приведенном выше фрагменте мы предполагаем, что » arrayListObject » — это объект коллекции, принадлежащий классу ArrayList.

Как работать с итератором

Для работы с итераторами доступно несколько методов, перечисленных ниже:

  • hasNext()
  • next()
  • remove()

Мы подробно обсудим каждый из вышеперечисленных способов.

Как использовать методы hasNext() и next()

Для обхода коллекции можно использовать метод hasNext(). hastNext () проверяет, осталось ли еще несколько элементов в итерации; если да, то он вернет true; в противном случае он вернет false. В то время как метод next() вернет следующий элемент в обходе и выдаст исключение, если больше не осталось элементов.

Пример

В этом примере сначала мы создаем коллекцию ArrayList, затем получаем итератор из ArrayList для обхода элементов. И, наконец, мы перебираем коллекцию, используя методы hasNext() и next():

public class IteratorsExample {
public static void main(String[] args) {
ArrayList<String> subjects = new ArrayList<>();
subjects.add(«Computer Science»);
subjects.add(«Mathematics»);
subjects.add(«Chemistry»);
subjects.add(«Biology»);
subjects.add(«Physics»);
Iterator<String> iterate = subjects.iterator();
while (iterate.hasNext()) {
System.out.println(iterate.next());
}
}
}

В приведенном выше фрагменте в условиях цикла while мы используем метод hasNext(), чтобы проверить, остался ли элемент в коллекции, если да, то цикл будет выполняться, а в теле цикла метод next() вернет следующий элемент в обходе, который будет отображаться с помощью System.out.println():

Читайте также:  PHP фреймворки: какой фреймворк выбрать, популярные фреймворки

В приведенном выше фрагменте в условиях цикла while

Результат подтвердил работу итераторов.

Как удалить предмет из коллекции

Метод remove() можно использовать для удаления значения из Iterator.

Пример

В этом примере мы будем использовать метод удаления для удаления элемента «Биология».

String st;
while (iterate.hasNext()) {
st = (String) iterate.next();
if (st.equals(«Biology»)) {
iterate.remove();
System.out.println(«Biology removed»);
break;
}

В приведенном выше фрагменте кода мы указали условие st.equals(«Biology«) и в теле оператора if использовали метод remove(). Он описывает этот тест, если строковое значение «Биология», а затем удалить его из коллекции:

Вывод удостоверяет работу метода удаления

Вывод удостоверяет работу метода удаления, поскольку он успешно удаляет элемент из коллекции.

Заключение

Итераторы позволяют нам проходить через элементы один за другим, и с помощью итераторов можно выполнять различные функции, такие как добавление или удаление элемента. Чтобы пройти через коллекцию, можно использовать несколько методов, таких как hasNext(), чтобы проверить, остались ли еще какие-то элементы в итерации или нет, метод next() для возврата следующего элемента в обходе и remove() метод для удаления любого определенного элемента коллекции.

Оцените статью
bestprogrammer.ru
Добавить комментарий