logo

Ітератор в Java

На Яві ан Ітератор є одним із курсорів Java. Ітератор Java це інтерфейс, який практикується для повторення колекції повних компонентів Java-об’єктів один за одним. Його можна безкоштовно використовувати на мові програмування Java, починаючи з версії Java 1.2 Collection. Він належить пакету java.util.

Незважаючи на те, що Java Iterator було представлено в Java 1.2, він все ще не найстаріший інструмент, доступний для проходження елементів об’єкта Collection. Найстарішим Ітератором у мові програмування Java є Ітератор, що передував Enumerator. Інтерфейс Java Iterator прийшов на зміну ітератору enumerator, який використовувався на початку для проходження деяких доступних колекцій, таких як ArrayLists.

Ітератор Java також відомий як універсальний курсор Java, оскільки це підходить для всіх класів структури Collection. Java Iterator також допомагає в таких операціях, як READ і REMOVE. Коли ми порівнюємо інтерфейс Java Iterator з інтерфейсом ітератора перерахування, ми можемо сказати, що назви методів, доступних у Java Iterator, більш точні та прості у використанні.

Переваги Java Iterator

Ітератор у Java став дуже поширеним завдяки численним перевагам. Переваги Java Iterator представлені наступним чином:

панди та numpy
  • Користувач може застосувати ці ітератори до будь-якого з класів структури Collection.
  • У Java Iterator ми можемо використовувати обидві операції читання та видалення.
  • Якщо користувач працює з циклом for, він не може модернізувати (додати/видалити) колекцію, тоді як, якщо він використовує ітератор Java, він може просто оновити колекцію.
  • Ітератор Java вважається універсальним курсором для API колекції.
  • Назви методів в Java Iterator дуже прості та прості у використанні.

Недоліки Java Iterator

Незважаючи на численні переваги, Java Iterator також має ряд недоліків. Недоліки Java Iterator наведені нижче:

  • Ітератор Java зберігає лише ітерацію в прямому напрямку. Простими словами, ітератор Java є односпрямованим ітератором.
  • Заміна та розширення нового компонента не схвалені Java Iterator.
  • В операціях CRUD ітератор Java не підтримує різні операції, такі як CREATE та UPDATE.
  • У порівнянні з Spliterator, Java Iterator не підтримує обхід елементів у паралельному шаблоні, що означає, що Java Iterator підтримує лише послідовну ітерацію.
  • Порівняно з Spliterator, Java Iterator не підтримує більш надійне виконання для проходження основного обсягу даних.

Як використовувати Java Iterator?

Коли користувачеві потрібно використовувати Java Iterator, він зобов’язаний створити екземпляр інтерфейсу Iterator із колекції об’єктів, які вони бажають перейти. Після цього отриманий ітератор підтримує слід компонентів у базовій колекції, щоб переконатися, що користувач буде проходити по кожному з елементів колекції об’єктів.

Якщо користувач змінює базову колекцію під час проходження через ітератор, що веде до цієї колекції, то ітератор зазвичай підтвердить це та створить виняток наступного разу, коли користувач спробує отримати наступний компонент з ітератора.

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

Наступний малюнок ідеально відображає діаграму класів інтерфейсу Java Iterator. Загалом він містить чотири методи:

  • hasNext()
  • наступний()
  • видалити()
  • forEachRemaining()

The forEachRemaining() метод було додано в Java 8. Давайте обговоримо кожен метод детально.

    логічний hasNext(): метод не приймає жодних параметрів. Він повертає true, якщо в ітерації залишилося більше елементів. Якщо елементів більше не залишилося, він поверне false.
    Якщо в ітерації більше не залишилося елементів, то немає потреби викликати метод next(). Простими словами, можна сказати, що метод використовується для визначення того, чи потрібно викликати метод next().E наступний():Він схожий на метод hasNext(). Він також не приймає жодних параметрів. Він повертає E, тобто наступний елемент в обході. Якщо ітерація або колекція об’єктів не має більше елементів для ітерації, тоді вона створює виняток NoSuchElementException.за замовчуванням void remove():Для цього методу також не потрібні параметри. У цього методу немає типу повернення. Основною функцією цього методу є видалення останнього елемента, повернутого ітератором, що проходить базову колекцію. Метод remove() можна запросити лише один раз під час наступного виклику методу(). Якщо ітератор не підтримує операцію видалення, він створює виключення UnSupportedOperationException. Він також викидає IllegalStateException, якщо наступний метод ще не викликано.за замовчуванням void forEachRemaining(дія споживача):Це єдиний метод Java Iterator, який приймає параметр. Він приймає дію як параметр. Дія — це не що інше, як те, що потрібно виконати. Тип повернення методу відсутній. Цей метод виконує певну операцію над усіма лівими компонентами колекції, доки всі компоненти не будуть спожиті або дія не викличе виняток. Винятки, створені дією, доставляються абоненту. Якщо дія має нульове значення, вона створює виняток NullPointerException.

Приклад Java Iterator

Тепер настав час виконати програму Java, щоб проілюструвати переваги інтерфейсу Java Iterator. Наведений нижче код створює ArrayList назв міст. Потім ми ініціалізуємо ітератор, застосовуючи метод iterator () ArrayList. Після цього список обходиться для представлення кожного елемента.

JavaIteratorExample.java

 import java.io.*; import java.util.*; public class JavaIteratorExample { public static void main(String[] args) { ArrayList cityNames = new ArrayList(); cityNames.add('Delhi'); cityNames.add('Mumbai'); cityNames.add('Kolkata'); cityNames.add('Chandigarh'); cityNames.add('Noida'); // Iterator to iterate the cityNames Iterator iterator = cityNames.iterator(); System.out.println('CityNames elements : '); while (iterator.hasNext()) System.out.print(iterator.next() + ' '); System.out.println(); } } 

Вихід:

 CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida 

Пункти, які слід пам’ятати

  • Ітератор Java — це інтерфейс, доданий мовою програмування Java у структуру колекції Java 1.2. Він належить пакету java.util.
  • Це один із курсорів Java, які використовуються для проходження об’єктів фреймворку колекції.
  • Ітератор Java використовується для ітерації компонентів об’єкта колекції один за одним.
  • Ітератор Java також відомий як універсальний курсор Java, оскільки він підходить для всіх класів структури Collection.
  • Java Iterator також підтримує такі операції, як READ і REMOVE.
  • Імена методів класу Iterator дуже прості та легкі у використанні порівняно з іменами методів Enumeration Iterator.