У овом упутству ћемо научити о интерфејсу Јава ЛистИтератор уз помоћ примера.
ListIterator
Интерфејс збирки оквира Јава обезбеђује функционалност за приступ елементима листе.
Двосмеран је. То значи да нам омогућава понављање елемената листе у оба смера.
Проширује Iterator
интерфејс.
List
Интерфејс омогућава listIterator()
метод који враћа инстанцу ListIterator
интерфејса.
Методе ЛистИтератор-а
ListIterator
Интерфејс даје методе које се могу користити за обављање различитих послова на елементе листе.
hasNext()
- враћа труе ако постоји елемент на листиnext()
- враћа следећи елемент листеnextIndex()
враћа индекс елемента који ћеnext()
метода вратитиprevious()
- враћа претходни елемент листеpreviousIndex()
- враћа индекс елемента који ћеprevious()
метода вратитиremove()
- уклања елемент који је вратио илиnext()
илиprevious()
set()
- замењује елемент који је вратио једанnext()
илиprevious()
са наведеним елементом
Пример 1: Примена ЛистИтератор
У овом примеру, реализовали смо се next()
, nextIndex()
и hasNext()
методе ListIterator
интерфејса у листи низа.
import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) )
Оутпут
АрраиЛист: (1, 3, 2) Следећи елемент: 1 Позиција следећег елемента: 1 Постоји ли неки следећи елемент? истина
Пример 2: Примена ЛистИтератор
У овом примеру, реализовали смо се previous()
и previousIndex()
методе ListIterator
интерфејса у листи низа.
import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) )
Оутпут
АрраиЛист: (1, 3, 2) Претходни елемент: 3 Позиција претходног елемента: 0
У горњем примеру, у почетку је инстанца Iterator
била пре 1. С обзиром да пре 1 није било елемента, па ће позивање previous()
методе бацити изузетак.
Затим смо next()
методе користили 2 пута. Сада ће Iterator
инстанца бити између 3 и 2.
Дакле, previous()
метода враћа 3.