Реализация LinkedList на Java — пошаговая реализация с классом Node
Чтобы понять этот пример, нужно знать следующие темы:
LinkedList в Java
Дженерики в Java
Пример 1: Программа Java для реализации LinkedList
class LinkedList {
// создаём объект класса Node
// представляет голову связанного списка
Node head;
// статический вложенный класс
static class Node {
int value;
// соединяем каждый узел со следующим
Node next;
Node(int d) {
value = d;
next = null;
}
}
public static void main(String[] args) {
// создаём объект LinkedList
LinkedList linkedList = new LinkedList();
// присваиваем значения каждому узлу связанного списка
linkedList.head = new Node(1);
Node second = new Node(2);
Node third = new Node(3);
// соединяем каждый узел связанного списка со следующим
linkedList.head.next = second;
second.next = third;
// печатаем значения узлов
System.out.print("LinkedList: ");
while (linkedList.head != null) {
System.out.print(linkedList.head.value + " ");
linkedList.head = linkedList.head.next;
}
}
}
Вывод:
LinkedList: 1 2 3
В примере выше мы реализовали односвязный список в Java. Здесь связанный список состоит из 3 узлов.
Каждый узел состоит из value и next. Переменная value представляет значение узла, а next — ссылку на следующий узел.
Совет
Чтобы узнать о работе LinkedList, посетите Структура данных LinkedList.
Пример 2: Реализация LinkedList с помощью класса LinkedList
Java предоставляет встроенный класс LinkedList, который можно использовать для реализации связанного списка.
import java.util.LinkedList;
class Main {
public static void main(String[] args){
// создаём связанный список с помощью класса LinkedList
LinkedList<String> animals = new LinkedList<>();
// добавляем элементы в LinkedList
animals.add("Dog");
// добавляем элемент в начало связанного списка
animals.addFirst("Cat");
// добавляем элемент в конец связанного списка
animals.addLast("Horse");
System.out.println("LinkedList: " + animals);
// получаем первый элемент
System.out.println("First Element: " + animals.getFirst());
// получаем последний элемент
System.out.println("Last Element: " + animals.getLast());
}
}
Вывод:
LinkedList: [Cat, Dog, Horse]
First Element: Cat
Last Element: Horse
В примере выше мы использовали класс LinkedList, чтобы реализовать связанный список в Java. Здесь мы использовали методы, предоставленные классом, чтобы добавлять элементы и получать к ним доступ из связанного списка.
Обратите внимание: мы использовали угловые скобки (<>) при создании связанного списка. Это означает, что связанный список — обобщённого типа.