Класс Java LinkedList: Руководство для начинающих

Введение

Привет, будущие маги Java! Сегодня мы отправляемся в захватывающее путешествие по миру Java LinkedList. Не волнуйтесь, если вы новичок в программировании – я стану вашим дружелюбным гидом, и мы будем исследовать эту тему шаг за шагом. К концу этого урока вы будете связывать списки, как профи!

Java - LinkedList

Представьте себе, что вы организуете конга-линию на вечеринке. Каждый человек держит за плечи человека перед ним, образуя цепочку. Вот что по сути такое LinkedList в Java – это цепочка элементов, каждый из которых связан с следующим. Это забавный и гибкий способ хранения и управления данными!

Объявление класса

Начнем с основ. В Java класс LinkedList находится в пакете java.util. Вот как мы его объявляем:

import java.util.LinkedList;

public class LinkedListExample {
public static void main(String[] args) {
LinkedList<String> partyGuests = new LinkedList<>();
}
}

В этом примере мы создаем LinkedList под названием partyGuests, который будет хранить строки (имена наших гостей). Часть <String> – это то, что мы называем " generics" – она указывает на тип элементов, которые будет хранить наш список.

Параметры

LinkedList в Java – это обобщенный класс, что означает, что он может работать с различными типами данных. Типовой параметр <E> представляет тип элементов в списке. В нашем примере с вечеринкой E будет String.

Поле

LinkedList не имеет никаких публичных полей. Все его внутренние механизмы закрыты (то есть "скрыты") внутри класса. Это хорошая практика в объектно-ориентированном программировании – как если бы мы держали грязную кухню в тайне, подавая вкусные блюда в столовой!

Конструкторы класса

LinkedList предоставляет два конструктора:

  1. LinkedList(): Создает пустой список.
  2. LinkedList(Collection<? extends E> c): Создает список, содержащий элементы указанной коллекции.

Давайте посмотрим, как они работают:

LinkedList<String> emptyParty = new LinkedList<>(); // Пустой список
LinkedList<String> vipGuests = new LinkedList<>(Arrays.asList("Alice", "Bob", "Charlie")); // Список с начальными элементами

Методы класса

LinkedList поставляется с кладезем полезных методов. Вот некоторые из наиболее часто используемых:

Метод Описание
add(E element) Добавляет элемент в конец списка
add(int index, E element) Добавляет элемент в указанную позицию
addFirst(E element) Добавляет элемент в начало списка
addLast(E element) Добавляет элемент в конец списка
remove(Object o) Удаляет первое вхождение указанного элемента
remove(int index) Удаляет элемент в указанной позиции
get(int index) Возвращает элемент в указанной позиции
set(int index, E element) Заменяет элемент в указанной позиции
size() Возвращает количество элементов в списке
clear() Удаляет все элементы из списка

Наследуемые методы

LinkedList наследует методы от нескольких интерфейсов и классов, включая Collection, Deque, List и AbstractSequentialList. Это означает, что он может делать намного больше, чем мы охватили здесь!

Пример добавления элементов в LinkedList

Поместим наши знания в практику с веселым примером:

import java.util.LinkedList;

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

// Добавление гостей на нашу вечеринку
partyGuests.add("Alice");
partyGuests.addLast("Bob");
partyGuests.addFirst("Charlie");
partyGuests.add(1, "David");

System.out.println("Список гостей: " + partyGuests);

// Ой, Боб не сможет прийти
partyGuests.remove("Bob");

// Добавление VIP-гостя
partyGuests.addFirst("Eve");

System.out.println("Обновленный список гостей: " + partyGuests);
System.out.println("Количество гостей: " + partyGuests.size());
}
}

Вывод

Когда вы выполните этот код, вы увидите:

Список гостей: [Charlie, David, Alice, Bob]
Обновленный список гостей: [Eve, Charlie, David, Alice]
Количество гостей: 4

Разберем, что произошло:

  1. Мы начали с пустого списка гостей.
  2. Мы добавили Алису в конец, Боба в конец, Чарли в начало и Давида на вторую позицию.
  3. Мы вывели наш исходный список гостей.
  4. Боб не смог прийти, поэтому мы его удалили.
  5. Мы добавили Эву как VIP-гостя в начало списка.
  6. Мы вывели наш обновленный список и общее количество гостей.

Видите, как гибок LinkedList? Мы можем легко добавлять и удалять элементы в любой позиции!

В заключение, LinkedList – это мощное и гибкое инструмент в Java. Это как магический список гостей для вашей вечеринки по программированию – вы можете добавлять или удалять гостей в любом месте линии с легкостью! Помните, что практика совершенствует мастера, поэтому не стесняйтесь экспериментировать с различными методами и создавать свои собственные примеры LinkedList. Счастливого кодирования, и пусть ваши списки всегда будут идеально связаны!

Credits: Image by storyset