Доступ к элементам LinkedList в Java — методы get, listIterator и примеры

Пример 1: Доступ к элементам связного списка

import java.util.LinkedList;

class Main {
  public static void main(String[] args) {
    LinkedList<String> languages = new LinkedList<>();

    // add elements in the LinkedList
    languages.add("Python");
    languages.add("Java");
    languages.add("JavaScript");
    System.out.println("LinkedList: " + languages);

    // get the element from the LinkedList
    String str = languages.get(1);
    System.out.print("Element at index 1: " + str);
  }
}

Вывод:

LinkedList: [Python, Java, JavaScript]
Element at index 1: Java

В приведённом примере мы использовали метод get() с параметром 1. Метод возвращает элемент по индексу 1.

Пример 2: С помощью метода iterator()

Для обхода элементов LinkedList можно также использовать метод iterator(). Для использования этого метода нужно импортировать пакет java.util.Iterator. Например:

import java.util.LinkedList;
import java.util.Iterator;

class Main {
    public static void main(String[] args) {
        LinkedList<String> animals= new LinkedList<>();

        // Add elements in LinkedList
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");

        // Creating an object of Iterator
        Iterator<String> iterate = animals.iterator();
        System.out.print("LinkedList: ");

        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Вывод:

LinkedList: Dog, Cat, Horse,

Здесь:

  • hasNext() — возвращает true, если есть следующий элемент;

  • next() — возвращает следующий элемент.

Пример 3: С помощью метода listIterator()

Для обхода элементов LinkedList также можно использовать метод listIterator(). Для этого нужно импортировать пакет java.util.ListIterator.

import java.util.LinkedList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        LinkedList<String> animals= new LinkedList<>();

        // Add elements in LinkedList
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");

        // Create an object of ListIterator
        ListIterator<String> listIterate = animals.listIterator();
        System.out.print("LinkedList: ");

        while(listIterate.hasNext()) {
            System.out.print(listIterate.next());
            System.out.print(", ");
        }

        // Iterate backward
        System.out.print("\nReverse LinkedList: ");

        while(listIterate.hasPrevious()) {
            System.out.print(listIterate.previous());
            System.out.print(", ");
        }
    }
}

Вывод:

LinkedList: Dog, Horse, Cat,
Reverse LinkedList: Cat, Horse, Dog,

Здесь:

  • hasNext() — возвращает true, если есть следующий элемент;

  • next() — возвращает следующий элемент;

  • hasPrevious() — возвращает true, если есть предыдущие элементы;

  • previous() — возвращает предыдущий элемент.

Примечание

Метод listIterator() предпочтительнее iterator(), поскольку позволяет также проходить список в обратном порядке.