Доступ к элементам 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(), поскольку позволяет также проходить список в обратном порядке.