logo

Итератор у Јави

На Јави, ан Итератор је један од Јава курсора. Јава Итератор је интерфејс који се практикује да би се итерирала колекција компоненти Јава објекта у целини једну по једну. Бесплатан је за коришћење у програмском језику Јава од оквира Јава 1.2 Цоллецтион. Припада пакету јава.утил.

Иако је Јава Итератор представљен у Јави 1.2, он још увек није најстарији алат који је доступан за кретање кроз елементе објекта Цоллецтион. Најстарији Итератор у Јава програмском језику је Енумератор који је претходио Итератору. Интерфејс Јава Итератор је наследник енумератора који је практикован на почетку да прелази преко неких доступних колекција као што су АрраиЛистс.

Јава Итератор је такође познат као универзални курсор Јаве као што је прикладно за све класе оквира колекције. Јава Итератор такође помаже у операцијама као што су РЕАД и РЕМОВЕ. Када упоредимо интерфејс Јава Итератор са интерфејсом итератора набрајања, можемо рећи да су имена метода доступних у Јава Итератору прецизнија и једноставнија за употребу.

Предности Јава Итератор-а

Итератор у Јави је постао веома распрострањен због својих бројних предности. Предности Јава Итератор-а су дате на следећи начин -

  • Корисник може да примени ове итераторе на било коју од класа оквира колекције.
  • У Јава Итератору можемо да користимо и операције читања и уклањања.
  • Ако корисник ради са фор петљом, не може да модернизује (дода/уклони) колекцију, док, ако користи Јава Итератор, може једноставно да ажурира колекцију.
  • Јава Итератор се сматра универзалним курсором за АПИ збирке.
  • Називи метода у Јава Итератору су веома лаки и веома једноставни за употребу.

Недостаци Јава Итератора

Упркос бројним предностима, Јава Итератор има и разне недостатке. Недостаци Јава Итератора су дати у наставку -

  • Јава Итератор само чува итерацију у правцу унапред. Једноставним речима, Јава Итератор је једносмерни Итератор.
  • Јава Итератор не одобрава замену и проширење нове компоненте.
  • У ЦРУД операцијама, Јава Итератор не држи различите операције као што су ЦРЕАТЕ и УПДАТЕ.
  • У поређењу са Сплитератором, Јава Итератор не подржава елементе преласка у паралелном обрасцу што имплицира да Јава Итератор подржава само секвенцијалну итерацију.
  • У поређењу са Сплитератором, Јава Итератор не подржава поузданије извршавање за прелазак великог обима података.

Како користити Јава Итератор?

Када корисник треба да користи Јава Итератор, онда је за њега обавезно да направи инстанцу интерфејса Итератор из колекције објеката преко којих жели да пређе. Након тога, примљени Итератор одржава траг компоненти у основној колекцији како би се уверио да ће корисник прећи преко сваког од елемената колекције објеката.

Ако корисник измени основну колекцију док прелази преко Итератора који води до те колекције, онда ће Итератор то обично потврдити и избациће изузетак у следећем тренутку када корисник покуша да преузме следећу компоненту из Итератора.

Методе Јава итератора

Следећа слика савршено приказује дијаграм класа интерфејса Јава Итератор. Садржи укупно четири методе које су:

  • хасНект()
  • следећи()
  • уклони()
  • форЕацхРемаининг()

Тхе форЕацхРемаининг() метод је додат у Јава 8. Хајде да детаљно размотримо сваки метод.

    боолеан хасНект(): Метода не прихвата ниједан параметар. Враћа тачно ако је у итерацији остало више елемената. Ако нема више елемената, вратиће се нетачно.
    Ако у итерацији нема више елемената, онда нема потребе да позивате нект() метод. Једноставним речима, можемо рећи да се метода користи за одређивање да ли се метода нект() позива или не.Е следећи():Слично је методи хасНект(). Такође не прихвата ниједан параметар. Враћа Е, тј. следећи елемент у обиласку. Ако итерација или колекција објеката нема више елемената за понављање, онда избацује НоСуцхЕлементЕкцептион.подразумевано воид ремове():Ова метода такође не захтева никакве параметре. Не постоји тип повратка овог метода. Главна функција ове методе је да уклони последњи елемент који је вратио итератор пролазећи кроз колекцију у основи. Метод ремове () се може захтевати једва једном приликом следећег () позива методе. Ако итератор не подржава операцију уклањања, онда избацује изузетак УнСуппортедОператионЕкцептион. Такође избацује изузетак ИллегалСтатеЕкцептион ако следећи метод још није позван.подразумевано воид форЕацхРемаининг (акција потрошача):То је једини метод Јава Итератора који узима параметар. Прихвата акцију као параметар. Акција није ништа друго него оно што треба извршити. Не постоји тип повратка методе. Овај метод изводи одређену операцију на свим левим компонентама колекције док се све компоненте не потроше или док акција не изазове изузетак. Изузеци изазвани радњом се испоручују позиваоцу. Ако је акција нулл, онда избацује НуллПоинтерЕкцептион.

Пример Јава Итератора

Сада је време да се изврши Јава програм да би се илустровала предност интерфејса Јава Итератор. Код у наставку производи АрраиЛист имена градова. Затим иницијализујемо итератор применом методе итератор() из АрраиЛист. Након тога, листа се прелази да би се представио сваки елемент.

ЈаваИтераторЕкампле.јава

 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 

Тачке које треба запамтити

  • Јава Итератор је интерфејс који је додат у Јава програмском језику у оквиру Јава 1.2 Цоллецтион. Припада пакету јава.утил.
  • То је један од Јава курсора који се увежбавају да прелазе објекте оквира за прикупљање.
  • Јава Итератор се користи за понављање компоненти објекта колекције једну по једну.
  • Јава Итератор је такође познат као универзални курсор Јаве јер је прикладан за све класе оквира колекције.
  • Јава Итератор такође подржава операције као што су РЕАД и РЕМОВЕ.
  • Имена метода класе Итератор су веома једноставна и лака за коришћење у поређењу са именима метода Енумератион Итератор.