Класс Java LinkedList: Руководство для начинающих
Введение
Привет, будущие маги Java! Сегодня мы отправляемся в захватывающее путешествие по миру 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 предоставляет два конструктора:
-
LinkedList()
: Создает пустой список. -
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
Разберем, что произошло:
- Мы начали с пустого списка гостей.
- Мы добавили Алису в конец, Боба в конец, Чарли в начало и Давида на вторую позицию.
- Мы вывели наш исходный список гостей.
- Боб не смог прийти, поэтому мы его удалили.
- Мы добавили Эву как VIP-гостя в начало списка.
- Мы вывели наш обновленный список и общее количество гостей.
Видите, как гибок LinkedList? Мы можем легко добавлять и удалять элементы в любой позиции!
В заключение, LinkedList – это мощное и гибкое инструмент в Java. Это как магический список гостей для вашей вечеринки по программированию – вы можете добавлять или удалять гостей в любом месте линии с легкостью! Помните, что практика совершенствует мастера, поэтому не стесняйтесь экспериментировать с различными методами и создавать свои собственные примеры LinkedList. Счастливого кодирования, и пусть ваши списки всегда будут идеально связаны!
Credits: Image by storyset