Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Освоение интерфейса ListIterator в Java: практическое руководство

Интерфейс ListIterator в Java

Интерфейс ListIterator расширяет Iterator и обеспечивает двунаправленный обход, позволяя двигаться вперёд и назад по List с одновременной модификацией.

Ключевые возможности: навигация, удаление и замена элементов — делают его незаменимым инструментом для работы со списками.


Основные методы ListIterator

Пример 1: Навигация вперёд

Пример демонстрации next(), nextIndex() и hasNext() на ArrayList:

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        ListIterator<Integer> iterator = numbers.listIterator();
        int first = iterator.next();
        System.out.println("Следующий элемент: " + first);
        int nextIndex = iterator.nextIndex();
        System.out.println("Позиция следующего элемента: " + nextIndex);
        System.out.println("Есть ли следующий элемент? " + iterator.hasNext());
    }
}

Вывод

ArrayList: [1, 3, 2]
Следующий элемент: 1
Позиция следующего элемента: 1
Есть ли следующий элемент? true

Пример 2: Навигация назад

Пример демонстрации previous() и previousIndex() после двух вызовов next():

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        ListIterator<Integer> iterator = numbers.listIterator();
        iterator.next();
        iterator.next();
        int prev = iterator.previous();
        System.out.println("Предыдущий элемент: " + prev);
        int prevIndex = iterator.previousIndex();
        System.out.println("Позиция предыдущего элемента: " + prevIndex);
    }
}

Вывод

ArrayList: [1, 3, 2]
Предыдущий элемент: 3
Позиция предыдущего элемента: 0

Изначально итератор находится перед первым элементом, поэтому вызов previous() выбросил бы исключение. После двух вызовов next() итератор находится между 3 и 2, поэтому previous() возвращает 3.

java

  1. Освоение интерфейсов в C#: определение, реализация и практические примеры
  2. Освоение операторов Java: типы, синтаксис и практические примеры
  3. Комментарии в Java: типы, использование и лучшие практики
  4. Интерфейсы в Java: концепции, реализация и лучшие практики
  5. Try-with-resources в Java: автоматическое управление ресурсами
  6. Аннотации в Java: типы, размещение и практические примеры
  7. Освоение интерфейса NavigableSet в Java: навигация, сортировка и практические примеры
  8. Освоение Java Lambda-выражений: от основ к Stream API
  9. Интерфейс vs Абстрактный класс в Java: Как выбрать правильную абстракцию
  10. Интерфейсы в Java: определение, использование и лучшие практики