В този урок ще научим за интерфейса на Java ListIterator с помощта на пример.
В ListIterator
интерфейса на колекции рамките на Java предоставя функционалност за елементи на достъп от списък.
Той е двупосочен. Това означава, че ни позволява да повтаряме елементи от списък и в двете посоки.
Той разширява Iterator
интерфейса.
В List
интерфейса осигурява listIterator()
метод, който връща инстанция на ListIterator
интерфейса.
Методи на ListIterator
В ListIterator
интерфейса осигурява методи, които могат да бъдат използвани за извършване на различни операции на елементите на списък.
hasNext()
- връща true, ако съществува елемент в списъкаnext()
- връща следващия елемент от списъкаnextIndex()
връща индекса на елемента, койтоnext()
методът ще върнеprevious()
- връща предишния елемент от списъкаpreviousIndex()
- връща индекса на елемента, койтоprevious()
методът ще върнеremove()
- премахва елемента, върнат отnext()
илиprevious()
set()
- замества елемента, върнат отnext()
илиprevious()
с посочения елемент
Пример 1: Внедряване на ListIterator
В примера по-долу, ние сме изпълнили 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()); ) )
Изход
ArrayList: (1, 3, 2) Следващ елемент: 1 Позиция на следващ елемент: 1 Има ли следващ елемент? вярно
Пример 2: Внедряване на ListIterator
В примера по-долу сме внедрили 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); ) )
Изход
ArrayList: (1, 3, 2) Предишен елемент: 3 Позиция на предишния елемент: 0
В горния пример първоначално екземплярът на Iterator
беше преди 1. Тъй като преди 1 нямаше елемент, така че извикването на previous()
метода ще изведе изключение.
След това използвахме next()
методите 2 пъти. Сега Iterator
екземплярът ще бъде между 3 и 2.
Следователно previous()
методът връща 3.