Руководство по реализации итератора в Java

Опубликовано: 2020-06-11

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

Существуют определенные характеристики итераторов Java, которые необходимо учитывать перед выполнением:

  • Каркас коллекции в Java оснащен функцией iterator(), которая может помочь в выполнении команд READ и REMOVE.
  • Метод итерации использует функцию next() для перемещения по элементам в автоматическом цикле, в отличие от других итераторов.
  • Каждый итератор может пройти через все элементы только один раз, и как только будет достигнута конечная сторона последовательности, вам пора получить еще один итератор.

Читайте: 6 главных причин, почему Java так популярен среди разработчиков

Оглавление

Выполнение реализации итератора в коде Java

Поскольку каждый фреймворк имеет встроенный объект, который возвращается, такие методы можно использовать для доступа к элементам следующими способами:

  • Вызов метода iterator().
  • Создание цикла, который может вызвать логическую функцию hasNext(), которая возвращает логическую переменную. Как только переменная получает реальное значение, она позволяет итератору перемещаться по коллекции.
  • Вызов функции E next() для перехода к следующему элементу в коллекции.
  • По умолчанию void remove() можно использовать для удаления базовой коллекции последнего элемента, возвращаемого через итератор.
  • Функция void forEachRemaining() по умолчанию помогает итератору выполнять любую заданную функцию для каждого элемента, пока вся коллекция не завершит обработку.

Использование функций hasNext() и Next() в реализации итератора в java

Как мы уже знаем, функция next() помогает итератору перемещаться по всем элементам коллекции по одному; поэтому, как только итератор достигает конца коллекции, next() вызывает исключение. Вот почему использование функции hasnext() перед next() гарантирует, что итератор имеет следующий объект в соответствии с коллекцией, чтобы избавиться от любого исключения.

Object remove(): с помощью функции object remove() вы можете удалить и вернуть последний объект, который прошел итератор и был возвращен next(). В случае каких-либо изменений в объекте с момента его предыдущего посещения срабатывает функция IllegalStateException().

Вот один простой пример того, как выполняются функции:

ArrayList abc = новый ArrayList();

Итератор xyz = xyz.iterator();

xyz.следующий();

xyz.удалить;

xyz.удалить();

xyz.следующий();

xyz.удалить();

импортировать java.util.*;

итератор классаTrial

{

public static void main (String [] arg)

}

Список пробный список = новый ArrayList();

String tripArray[] = {"Гарри", "Джек", "Джейкоб", "Мэгги", "Джордж"};

for (int i=0; i<trialArray.length; i++)

{

пробный список.добавить (пробный массив [я]);

}

Итератор xyz = TrialList.iterator();

пока (xyz.hasNext())

{

System.out.println(xyz.next());

}}}

Вывод, сгенерированный из приведенного выше кода:

Гарри

разъем

Джейкоб

Мэгги

Джордж

В приведенном выше примере итератор xyz создается для ArrayList abc, который после удаления первых элементов и смежных объектов выполняет быструю и простую итерацию.

Читайте также: 17 интересных идей и тем для Java-проектов для начинающих

Реализация пользовательского итератора класса в Java

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

  • Установите и определите пользовательский класс.
  • Назначьте и определите класс коллекции для пользовательского класса.
  • В этом классе коллекции итерируемый интерфейс должен быть реализован с помощью пользовательского класса в качестве параметра типа.
  • Тот же класс коллекции должен иметь возможность выполнять функцию iterator().
  • После выполнения этих инструкций в классе Custom все готово для запуска объекта итератора или Enhanced For Loop() для его элементов.

Преимущества и недостатки реализации итератора в Java

  • Применимо к любому классу коллекции
  • Универсальный курсор для Collection API с безопасными методами и операциями.

Недостатки:

  • Не поддерживает операции CREATE и UPDATE.
  • Итерация происходит только в одном направлении
  • ListIterator и Spliterator являются лучшими курсорами в java, которые позволяют выполнять параллельную итерацию и итерацию больших объемов данных.

Перечисление и реализация итератора в Java : сходства и различия

  • И перечислитель, и итератор являются курсорами Java и могут использоваться для итерации элементов класса коллекции по одному за раз в одном направлении.
  • Оба курсора поддерживают методы READ.

Отличия:

  • Перечисление — это устаревший интерфейс, впервые реализованный в Java 1.0 и ограниченный классами коллекций Legacy, в отличие от Iterator.
  • Перечислители не являются универсальными курсорами и поэтому имеют хитрые имена функций, которые ограничены выполнением функции READ.

Также читайте: Зарплата Java-разработчика в Индии: для новичков и опытных

Заключение

Это все, что касается реализации итератора в Java, ребята! Надеюсь, теперь вы знаете, как правильно запускать итерации.

Если вам интересно узнать больше о разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов интенсивного обучения, более 9 проектов и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Подготовьтесь к карьере будущего

ПРОМЫШЛЕННОЕ ОБУЧЕНИЕ, ПРИЗНАННОЕ В ПРОМЫШЛЕННОСТИ.
Зарегистрируйтесь сейчас @ upGrad