В Java, an Итератор е един от курсорите на Java. Итератор на Java е интерфейс, който се практикува, за да се обхожда цяла колекция от Java обектни компоненти един по един. Той е безплатен за използване в езика за програмиране Java от рамката на колекцията Java 1.2. Принадлежи към пакета java.util.
Въпреки че Java Iterator беше въведен в Java 1.2, той все още не е най-старият наличен инструмент за преминаване през елементите на обекта Collection. Най-старият итератор в езика за програмиране Java е предшестващият итератор Enumerator. Интерфейсът на Java Iterator наследява итератора на изброителя, който се практикуваше в началото за преминаване през някои достъпни колекции като ArrayLists.
Итераторът на Java е известен също като универсален курсор на Java, тъй като е подходящ за всички класове на рамката на колекцията. Java Iterator също помага при операции като READ и REMOVE. Когато сравняваме интерфейса на Java Iterator с интерфейса на итератора за изброяване, можем да кажем, че имената на методите, налични в Java Iterator, са по-точни и лесни за използване.
Предимства на Java Iterator
Итераторът в Java стана много разпространен поради многобройните си предимства. Предимствата на Java Iterator са дадени както следва -
str.replace в java
- Потребителят може да приложи тези итератори към всеки от класовете на рамката на колекцията.
- В Java Iterator можем да използваме и двете операции за четене и премахване.
- Ако потребител работи с for цикъл, той не може да модернизира (добави/премахне) колекцията, докато, ако използва Java Iterator, може просто да актуализира колекцията.
- Итераторът на Java се счита за универсален курсор за API за събиране.
- Имената на методите в Java Iterator са много лесни и са много лесни за използване.
Недостатъци на Java Iterator
Въпреки многобройните предимства, Java Iterator има и различни недостатъци. Недостатъците на Java Iterator са дадени по-долу -
- Итераторът на Java запазва итерацията само в посока напред. С прости думи, Java Iterator е еднопосочен итератор.
- Замяната и разширението на нов компонент не се одобряват от Java Iterator.
- В CRUD Operations Java Iterator не поддържа различните операции като CREATE и UPDATE.
- В сравнение със Spliterator, Java Iterator не поддържа преминаващи елементи в паралелния модел, което означава, че Java Iterator поддържа само последователна итерация.
- В сравнение със Spliterator, Java Iterator не поддържа по-надеждно изпълнение за преминаване на големия обем от данни.
Как да използвам Java Iterator?
Когато даден потребител трябва да използва Java Iterator, тогава за него е задължително да направи екземпляр на интерфейса на Iterator от колекцията от обекти, през които желае да премине. След това полученият итератор поддържа следата на компонентите в основната колекция, за да се увери, че потребителят ще премине през всеки от елементите на колекцията от обекти.
Ако потребителят модифицира основната колекция, докато преминава през итератор, водещ до тази колекция, тогава итераторът обикновено ще го потвърди и ще хвърли изключение следващия път, когато потребителят ще се опита да получи следващия компонент от итератора.
Методи на Java Iterator
Следващата фигура перфектно показва класовата диаграма на интерфейса на Java Iterator. Той съдържа общо четири метода, които са:
- hasNext()
- следващия()
- Премахване()
- forEachRemaining()
The forEachRemaining() беше добавен в Java 8. Нека обсъдим всеки метод в детайли.
Ако няма останали елементи в итерацията, тогава няма нужда да се извиква методът next(). С прости думи можем да кажем, че методът се използва за определяне дали методът next() да бъде извикан или не.
Пример за 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 Iterator е интерфейс, добавен в езика за програмиране на Java в рамката на колекцията Java 1.2. Принадлежи към пакета java.util.
- Това е един от курсорите на Java, които се практикуват за преминаване през обектите на рамката за събиране.
- Java Iterator се използва за итериране на компонентите на обекта на колекцията един по един.
- Итераторът на Java е известен също като универсален курсор на Java, тъй като е подходящ за всички класове на рамката на колекцията.
- Java Iterator също поддържа операции като READ и REMOVE.
- Имената на методите на класа Iterator са много прости и лесни за използване в сравнение с имената на методите на Enumeration Iterator.