listiterator interface java with examples
Овај водич објашњава интерфејс ЛистИтератор у Јави да би прешао имплементацију листе. Научићете о дијаграму класа и методама интерфејса ЛистИтератор:
Баш као и Итератор, интерфејс ЛистИтератор пружа функционалност за кретање кроз имплементације листе у Јави и приступ елементима листе.
=> Овде погледајте како бисте овде видели А-З Јава Водича за обуку.
најбољи бесплатни видео конвертер за Виндовс 7
Шта ћете научити:
ЛистИтератор сучеље у Јави
Неке од главних карактеристика интерфејса ЛистИтератор наведене су у наставку:
- ЛистИтератор је представљен у Јави 1.2
- ЛистИтератор је подинтерфејс интерфејса Итератор тј. Протеже се од интерфејса Итератор.
- ЛистИтератор ради само са имплементацијама листе.
- ЛистИтератор подржава све операције, наиме, стварање, читање, ажурирање и брисање. (Колективно назване ЦРУД операције).
- ЛистИтератор је двосмерни Итератор и подржава итераторе унапред и уназад.
- У случају ЛистИтератор, не постоји тренутни елемент. Позиција курсора је усмерена на место између елемента враћеног претходном () методом и елемента који би се вратио следећом () методом.
Размотримо више о овом интерфејсу у овом водичу.
Дијаграм класе ЛистИтератор
ЛистИтератор је интерфејс који припада оквиру Цоллецтионс АПИ. Овај интерфејс се протеже од интерфејса Итератор. Осим што наслеђује методе интерфејса Итератор, такође подржава методе за двосмерне итерације и ЦРУД операције.
Дијаграм класа интерфејса ЛистИтератор приказан је испод.
Горња слика приказује дијаграм класа интерфејса ЛистИтератор. У следећем одељку детаљно ћемо размотрити сваку од метода приказаних на слици.
Методе ЛистИтератор
ЛистИтератор интерфејс пружа следеће методе као што је приказано у доњој табели.
Назив методе | Прототип | Опис |
---|---|---|
уклони () | воид ремове () | Уклања последњи елемент враћен методом нект () или превиоус (). |
хасНект () | боолеан хасНект () | Проверава да ли листИтератор има више елемената за кретање унапред. |
следећи() | Е следећи () | Враћа следећи елемент на листи. Затим помера курсор да би усмерио на следећи елемент. |
хасПревиоус () | боолеан хасПревиоус () | Проверава да ли ЛистИтератор има више елемената у смеру уназад / уназад. |
Претходна() | Е претходна () | Враћа претходни елемент на листи и помера курсор на једно место у назад. |
нектИндек () | инт нектИндек () | Враћа индекс елемента који ће бити враћен позивом на методу нект (). |
превиоусИндек () | инт превиоусИндек () | Враћа индекс елемента који ће бити враћен позивом на превиоус () методу. |
седам) | празнина постављена (Е и) | Замењује последњи елемент враћен методом нект () или превиоус () новом вредношћу. |
додај (Е) | воид додај (Е е) | Додаје нови елемент на листу. |
Затим ћемо детаљно описати сваку од ових метода.
# 1) хасНект ()
Прототип: боолеан хасНект ()
Параметри: НУЛА
Повратна вредност:
- труе => листа има следећи елемент
- Нетачно => листа нема више елемената
Опис: Ова метода проверава да ли ЛистИтератор има више елемената за прелазак у правцу напред. Ако има више елемената, овај метод враћа труе.
# 2) нект ()
Прототип: Е следећи ()
Параметри: НУЛА
Повратна вредност: Е => следећи елемент на листи.
Опис: Метода нект () враћа следећи елемент на листи и помера курсор на следећи елемент.
Бачен изузетак: НоСуцхЕлементЕкцептион - ако ЛистИтератор нема следећи елемент.
# 3) хасПревиоус ()
Прототип: боолеан хасПревиоус ()
Параметри: НУЛА
Повратна вредност: тачно => ЛистИтератор има претходни елемент
Опис: Проверава да ли ЛистИтератор има више елемената у смеру уназад / уназад.
# 4) претходни ()
Прототип: Е претходна ()
Параметри: НУЛА
Повратна вредност: Е => претходни елемент на листи
Опис: Ова метода враћа претходни елемент на листи док се креће уназад, а затим помера курсор уназад.
Бачен изузетак: НоСуцхЕлементЕкцептион - ако ЛистИтератор нема следећи елемент.
# 5) нектИндек ()
Прототип: инт нектИндек ()
Параметри: НУЛА
Повратна вредност: инт => индекс елемента који ће се вратити методом нект () или величином листе ако је ЛистИтератор на крају листе.
Опис: Ова метода се може позвати пре следеће () методе. Метода нектИндек () враћа индекс елемента који ће вратити метода нект (). Ако се ЛистИтератор налази на крају листе, овај метод враћа величину листе.
# 6) превиоусИндек ()
Прототип: инт превиоусИндек ()
Параметри: НУЛА
Повратна вредност: инт => индекс елемента који ће бити враћен претходном () методом или -1 ако је ЛистИтератор на почетку листе.
Опис: Ова метода се може позвати пре претходне () методе. Метода превиоусИндек () враћа индекс елемента који ће вратити метода превиоус (). Ако је ЛистИтератор на почетку листе, тада метода враћа -1.
# 7) уклони ()
Прототип: воид ремове ()
Параметри: НУЛА
Повратна вредност: празнина
Опис: Метода ремове () брише последњи елемент који је враћен или претходном () или следећом () методом. Позив методе ремове () може се упутити само једном по позиву следеће () или претходне () методе.
Бачен изузетак:
- УнсуппортедОператионЕкцептион - ЛистИтератор не подржава операцију уклањања.
- ИллегалСтатеЕкцептион - Ако је тренутна операција у недозвољеном стању, тј. Ни следећа ни претходна још нису позване или након позива на следећу или претходну, додавање или уклањање нису позвани.
# 8) сет (Е)
Прототип: празнина постављена (Е и)
Параметри: е => нови елемент којим ће стари елемент бити замењен
Повратна вредност: празнина
Опис: Метод сет () поставља елемент враћен било претходном () или следећом () методом са новом вредношћу прослеђеном као аргумент. Овај метод се може позвати само ако се метода адд () или ремове () не позове након последњег позива методе превиоус () или нект ().
Бачен изузетак:
- УнсуппортедОператионЕкцептион - ЛистИтератор не подржава постављену операцију.
- ЦлассЦастЕкцептион - Ако наведени елемент није могуће додати због своје класе.
- ИллегалАргументЕкцептион - Ако је елемент / аргумент који се додаје нелегалан или неважећи.
- ИллегалСтатеЕкцептион - Ако је тренутна операција у недозвољеном стању, тј. Ни следећи ни претходни још нису позвани или након позива на следећи или претходни, додавање или уклањање нису позвани.
# 9) додај (Е)
Прототип: воид додај (Е е)
Параметри: е => нови елемент који треба додати на листу
Повратна вредност: празнина
Опис: Метода адд () користи се за додавање новог елемента на листу. Елемент се додаје непосредно пре елемента који би се вратио нект (), ако постоји, и након елемента који би претходна () метода вратила.
Имајте на уму да, као резултат додавања елемента, не би било промене која би вратила вредност нект (), али претходна () метода ће вратити само додати елемент.
разлика између испитивања дима и здраве памети
Бачен изузетак:
- УнсуппортедОператионЕкцептион - ЛистИтератор не подржава методу додавања.
- ЦлассЦастЕкцептион ако је наведени елемент који се не може додати због своје класе.
- ИллегалАргументЕкцептион ако је елемент / аргумент који се додаје нелегалан или неваљан.
Следећи Јава програм приказује демонстрацију свих горе наведених метода ЛистИтератор.
import java.util.*; public class Main{ public static void main(String args[]){ //define list and add elements to it ListnameList=new ArrayList(); nameList.add('Savich'); nameList.add('Dane'); nameList.add('Lacey'); nameList.add(1,'James'); System.out.println('Original List:' + nameList); //define a list iterator for this list ListIterator list_itr=nameList.listIterator(); System.out.println('List elements in forward direction:'); //while there are still elements in the list, display next index and element while(list_itr.hasNext()){ System.out.println('Index:'+list_itr.nextIndex()+' Element:'+list_itr.next()); } //call set() method to set next value to 'Sally' list_itr.set('Sally'); System.out.println('
List after set('Sally'):' + nameList); //while there are elements in the list, display previous index and element System.out.println('
List elements in backward direction:'); while(list_itr.hasPrevious()){ System.out.println('Index:'+list_itr.previousIndex()+' Element:'+list_itr.previous()); } //call remove () method list_itr.remove(); System.out.println('List after remove():' + nameList); } }
Излаз:
ЛистИтератор сучеље у Јава примерима
Погледајмо још један пример употребе ЛистИтератор. У овом програму имамо АрраиЛист целобројних вредности. Затим помоћу ЛистИтератор прелазимо преко листе и приказујемо елементе листе.
Такође, бирамо само парне елементе у АрраиЛист-у и мењамо њихове вредности у непарне бројеве помоћу метода ЛистИтератор.
import java.util.ArrayList; import java.util.ListIterator; public class Main { public static void main(String[] args) { //define ArrayList and add values to it using for loop ArrayList intList = new ArrayList(); for (int i = 0; i <10; i++) intList.add(i+2); System.out.println('Original ArrayList:' + intList); // define the ListIterator ListIterator list_itr = intList.listIterator(); System.out.println('List elements using listIterator:'); //while list has more elements while (list_itr.hasNext()) { //retrieve next element int i = (Integer)list_itr.next(); // print the element System.out.print(i + ' '); // change only even numbers to odd by setting value = value +1 to current element if (i%2==0) { list_itr.set(i+1); // set method to change value } } System.out.println(); System.out.println('Final ArrayList of odd values:' + intList); } }
Излаз:
Често постављана питања
П # 1) Шта се подразумева под итератором?
Одговор: Итератор је интерфејс који је део оквира Цоллецтион у Јави. Овај интерфејс је присутан у пакету јава.утил. Сучеље итератора користи се за итерацију кроз колекцију објеката.
П # 2) Шта је интерфејс итератора у Јави?
Одговор: Сучеље итератора у Јави користи се уместо набрајања која су раније коришћена у оквиру Јава Цоллецтион Фрамеворк. Интерферат итератора присутан је у Јави од верзије 1.2.
Коришћењем овог интерфејса можете прелиставати било које Јава колекције и обрађивати елементе колекције.
П # 3) Чему служи метода листИтератор () у Јави?
Одговор: Метода листИтератор () припада пакету јава.утил. *. Ова метода враћа итератор листе за одређени објект листе који га је позвао и може се користити за прелазак листа и елемената приступа. ЛистИтератор ради само на имплементацијама листе.
најбоља мобилна шпијунска апликација за андроид
П # 4) Да ли је итератор класа или интерфејс?
Одговор: Итератор није класа већ ан интерфејс у Јави . Интерфејс итератора могу да примене остале класе и користе се за итерацију кроз елементе листе или колекције.
П # 5) Колико типова итератора постоји на Јави?
Одговор: Итератори у Јави су три врсте:
- Набрајања: Ово је интерфејс који се користи за читање елемената из колекција попут Вецтор, хасхтабле итд. Сваки елемент је нумерисан у складу са својим положајем у колекцији.
- Итератор: Овај интерфејс можете назвати универзалним, јер га можете применити на било који објекат колекције за пролазак кроз колекцију. Ово је побољшана енумерација са уклоњеном функционалношћу заједно са способношћу читања елемента.
- ЛистИтератор: ЛистИтератор је интерфејс који пружа двосмерну итерацију, тј. У правцу напред и назад. ЛистИтератор ради само са имплементацијама листе, укључујући ЛинкедЛист, АрраиЛист итд.
Закључак
ЛистИтератор интерфејс у Јави је изведен из интерфејса Итератор. Поред директног наслеђивања метода интерфејса Итератор, интерфејс листИтератор уводи и сопствене методе које програмеру могу помоћи у извођењу двосмерне итерације.
У овом упутству смо разговарали о дијаграму класа и различитим методама интерфејса ЛистИтератор. Такође смо видели примену ових метода заједно са начинима преласка кроз разне листе.
=> Посетите овде да бисте видели серију Јава обуке за све.
Препоручено читање
- Јава интерфејс и лекција са апстрактним часовима са примерима
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Јава Итератор: Научите да користите Итераторе у Јави са примерима
- Водич за дужину Јава низа са примерима кода
- Назубљени низ у Јави - Водич са примерима
- Обрни низ у Јави - 3 методе са примерима
- Како сортирати низ у Јави - Водич са примерима
- Истакнуте функције Јава 8 са примерима кода