Интерфейс Java ListIterator
Интерфейс ListIterator Java
В этом руководстве мы узнаем об интерфейсе 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<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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] Next Element: 1 Position of Next Element: 1 Is there any next element? true<час>
Пример 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<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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] Previous Element: 3 Position of the Previous Element: 0
В приведенном выше примере изначально экземпляр Iterator
был до 1. Поскольку до 1 не было элемента, вызывая previous()
метод вызовет исключение.
Затем мы использовали next()
методы 2 раза. Теперь Iterator
instance будет между 3 и 2.
Следовательно, previous()
метод возвращает 3.
java