Разлика између Итератора и Енумератион Интерфаце на Јави

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 9 Може 2024
Anonim
🐍 Python 101: Learn Python Basics for Absolute Beginners [FULL Course]
Видео: 🐍 Python 101: Learn Python Basics for Absolute Beginners [FULL Course]

Садржај


Три курсора који се користе за приступ елементима из било које збирке један по један јесу Пописивање, Итератор и ЛистИтератор. Иако су Итератор и Пописивач предвиђени за обављање истог посла. Ипак, разликују се један од другог у смислу да Енумерација има приступ елементима у збирци само за читање. Са друге стране, Итератор може читати и уклањати елементе из колекције. Важна разлика између Итератора и Пописа је та Пописивање не може се применити на класе збирки, то је применљиво само на старе наслове Са друге стране Итератор се односи на класе колекције, па се назива универзалним курсором. Научимо још неке разлике између Итератора и Енумерације уз помоћ упоредног графикона приказаног доле.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеИтератор Пописивање
ОсновниИтератор је универзални курсор јер је применљив за све класе колекције.Набрајање није универзални курсор јер се односи само на наслијеђене класе.
ПриступПомоћу програма Итератор можете читати и уклањати елементе из колекције.Употребом Енумерације можете читати само елементе из колекције.
Методејавни боолеан хаснект ();
јавни објекти следећи ();
јавно неважеће уклањање ();
јавни боолеан хасМореЕлементс ();
јавни објект нектЕлемент ();
ОграничењеИтератор је једносмерни курсор за приступ унапред.
Итератор не може заменити ниједан елемент у колекцији.
Итератор не може додати ниједан нови елемент у колекцију.
Набрајање је једносмерни курсор за приступ унапред.
Пописивање подржавају само наслијеђене часове.
Набрајање има приступ само елементима у колекцији само за читање.
ПревладатиДа бисте превазишли ограничења програма Итератор, морате се одлучити за ЛистИтератор.Да бисте превазишли ограничења набрајања, морате се одлучити за Итератор.


Дефиниција интерфејса итератора

Итератор је интерфејс у ​​оквиру колекције. Како је Итератор применљив на све класе колекције, назива се универзалним курсором. То је курсор који се користи за приступ елементима у колекцији један по један. Помоћу програма Итератор можете преузети елементе из колекције, а ако желите можете и елементе из колекције. Објект Итератор може се креирати као што је дато у наставку.

Итератор итр = Цоллц.итератор ();

Променљива итр је предмет Итератора. Цоллц је било који предмет сакупљања који треба циклизирати или поновити помоћу објекта (итр) Итератора. Тхе итератор () је метода која се користи за креирање објекта итератора. Постоје три методе у Итератору као што је приказано испод.

јавни боолеан хаснект (); јавни објект нект (); јавно неважеће уклањање ();

Прва метода хаснект () проверава да ли у колекцији има неких елемената или не. Ако збирка има елементе, она ће се вратити истина, а друга вратити. Други метод следећи() користи се за проналажење следећег елемента у колекцији. Трећа метода уклони () користи се за брисање елемената из колекције.


Итератор може путовати у збирци само у смеру напред, не може се кретати назад док путује. Итератор може уклонити елемент из колекције, али нема могућност замјене било којег постојећег елемента новим елементом нити може додати било који нови елемент у колекцију. Да бисте превазишли ова ограничења, можете потражити ЛистИтератор интерфејс.

Дефиниција интерфејса за набрајање

Пописивање је интерфејс применљив на наслеђе класе и не може се применити на ниједну класу колекције. Дакле, то није универзални курсор. Пописивање појединачно преузима елемент (предмет) из колекције. Објект пописа има приступ само елементима колекције само за читање. Објект набрајања не може промијенити било који елемент из колекције. Да видимо како да креирамо пописни објект, погледајте.

Енумератион ер = Вецт.елементс ();

Променљива је је предмет набрајања. Тхе Вецт је објект векторске класе који треба да пређе објект (ер) набрајања. Метода елемент () користи се за креирање објекта набрајања. Постоје само две методе у интерфејсу за набрајање као што је приказано у наставку.

јавни боолеан хасМореЕлементс (); јавни нектЕлемент ();

Прва метода хасМореЕлементс () користи се за провјеру статуса колекције да ли има елемената у себи или је празна. Ако колекција садржи елементе, метода хасМореЕлементс () враћа труе труе ретурн фалсе. Други метод нектЕлемент () користи се за проналажење елемената из колекције један по један. Када је прелазак завршен, баца се метода нектЕлемент () НоСуцхЕлементЕкцептион. Објект пописа путује само у смјеру према напријед. Не може додати или уклонити или заменити ниједан елемент у колекцији. Да бисте превазишли та ограничења Пописа, морате се одлучити за Итератор.

  1. Главна разлика између Итератора и Енумерације је у томе што је Итератор универзални курсор, може се користити за итерирање било којег објекта колекције. С друге стране, набрајање се користи само за прелазак предмета наслијеђене класе.
  2. Објект пописа има приступ само елементима у колекцији само за читање. Ипак, објект Итератор може очитати и уклонити елементе из колекције.
  3. Постоје две методе итератора за провјеру статуса колекције и за преузимање елемената из колекције. Поред метода набрајања Итератор има још једну методу за уклањање елемената из колекције.
  4. Ограничења набрајања јесу ли то једносмерни курсор напријед, има приступ само за читање и може се примијенити на класе збирки. С друге стране, Итератор не може заменити или додати било који нови елемент у колекцију и попут Енумератион такође помиче једносмерни курсор.
  5. Ограничење набрајања решава Итератор, а ограничења Итератора решава ЛистИтератор.

Закључак:

Данас се користи показивач Итератор и ЛистИтертаор јер су универзални курсор и много су ефикаснији од набрајања.