Что такое итератор в Java и как им пользоваться?



Блог Iterator в Java расскажет вам, что такое итератор и как его использовать в Java, с несколькими примерами.

Если вы работаете над и предположим, что вы хотите напечатать последовательность, вот где Iterator в Java вступает в игру. Таким образом, вы можете получить последовательность даже без добавления оператора печати для каждой строки. Итак, давайте узнаем об Iterator в .

Ниже приведены темы, которые я затрону в этом модуле:





Давайте начнем!

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

Java в основном поддерживает четыре разных курсора. А именно:



  • Перечисление
  • Итератор
  • ListIterator
  • Сплиттер

У каждого из этих курсоров Java есть свои преимущества и недостатки. В этой статье мы сосредоточимся на Итераторе.

Итак, что такое итератор в Java?

Итератор - это интерфейс, принадлежащий структуре коллекции. Он позволяет перемещаться по коллекции, обращается к элементу данных и удаляет элементы данных коллекции.



сложение двух чисел в java

Он также считается универсальным итератором, поскольку его можно применять к любому объект. Используя итератор, вы можете выполнять операции чтения и удаления. Это улучшенная версия Перечисление с дополнительными функциями удаления элемента.

Методы итератора Java

Всего итератор Java имеет 4 метода. Давайте разберемся с ними подробнее.

МетодыОписание
forEachRemaining (Потребление)Он выполняет действия с каждым элементом до тех пор, пока все элементы не будут обработаны. Также до тех пор, пока действие не вызовет исключение.
hasNext ()Эта возвращается истинное значение, если во время итерации встречается большое количество элементов.
Следующий()Эта возвращается следующий указанный элемент во время итерации.
удалять()Этот метод rудаляет текущий элемент. Броски IllegalStateException если делается попытка вызвать remove (), которой не предшествует вызов next ().
логическое hasNext ()Это возвращает истину, если итерация имеет больше элементов.

Пример:

class Method {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Итератор для обхода списка Iterator iterator = list.iterator () System.out.println (' Элементы списка : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Выход: ЭДУРЕКА

Давайте посмотрим на ListIterator в Java.

ListIterator в Java

как получить длину массива javascript

ListIterator в Java - это итератор, который позволяет пользователям перемещаться по Коллекции в обоих направлениях. Он содержит следующие методы:

МетодыМетод и описание
void add (объект obj) Вставляет объект obj в список перед элементом, который будет возвращен при следующем вызове next ().
логическое hasNext () Возвращает истину, если есть следующий элемент. В противном случае возвращает false.
логическое hasPrevious () Возвращает истину, если есть предыдущий элемент. В противном случае возвращает false.
Объект следующий () Возвращает следующий элемент. Исключение NoSuchElementException выбрасывается, если нет следующего элемента.
int nextIndex () Возвращает индекс следующего элемента. Если следующего элемента нет, возвращает размер списка.
Объект предыдущий () Возвращает предыдущий элемент. Исключение NoSuchElementException выбрасывается, если нет предыдущего элемента.
int previousIndex () Возвращает индекс предыдущего элемента. Если предыдущего элемента нет, возвращает -1.
void remove () Удаляет текущий элемент из списка. Исключение IllegalStateException генерируется, если remove () вызывается до вызова next () или previous ().
недействительный набор (объект объект) Присваивает obj текущему элементу. Это последний элемент, возвращенный вызовом next () или previous ().

Пример:

public class Lists {public static void main (String args []) {// Создаем список массивов ArrayList al = new ArrayList () // добавляем элементы в список массивов al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Используйте итератор для отображения содержимого al System.out.print ('Исходное содержимое al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // Изменить повторяемые объекты ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Измененное содержимое al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Теперь отобразим список в обратном направлении System.out.print ('Измененный список в обратном направлении:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (элемент + '')} System.out.println ()}}

Вывод:

Оригиналсодержание al:Е Д У ​​Р Е К А
Измененосодержание al:ЯВЛЯЕТСЯ+D+U+р+ЯВЛЯЕТСЯ+К+ А +
Измененосписок в обратном порядке:К+К+ЯВЛЯЕТСЯ+р+U+D+ И +

найти самый большой элемент в массиве java

Теперь давайте посмотрим на преимущества и ограничения этого интерфейса итератора в Java.

Преимущества итератора в Java

Итератор в Java имеет следующие преимущества.

  • Вы можете использовать эти итераторы для любого класса Collection.
  • Итератор в Java поддерживает оба читать а также удалять операции.
  • Если вы используете для цикла ты не можешь обновить (добавить / удалить) Коллекцию, тогда как с помощью итератора вы можете легко обновить Коллекцию.
  • Это универсальный курсор для API коллекции.
  • Имена методов очень просты и очень удобны.

Ограничения итератора в Java

Итераторы в Java имеют следующие недостатки:

  • Вы можете выполнять только итерацию в прямом направлении, то есть однонаправленный итератор.
  • Итератор не поддерживает замену и добавление нового элемента.
  • ListIterator - самый мощный итератор, но он применим только для классов, реализованных в List. Так что это не универсальный итератор.
  • Когда вы используете CRUD Operations, он не поддерживает операции создания и обновления.
  • Когда вы сравниваете его со Spliterator, он не позволяет выполнять итерацию элементов параллельно. Это означает, что он поддерживает только последовательную итерацию.
  • Он не поддерживает лучшую производительность для итерации большого объема данных.

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

Если вы нашли эту статью «Итератор в Java» релевантной, ознакомьтесь с надежная компания онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру.

Мы здесь, чтобы помочь вам на каждом этапе вашего пути. Помимо этого, мы разработали учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиком. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Если у вас возникнут какие-либо вопросы, не стесняйтесь задавать все свои вопросы в разделе комментариев «Итератор в Java», и наша команда будет рада ответить.