Урок 20: Коллекции List
Коллекции типа List
в Java представляют собой упорядоченные коллекции элементов, которые допускают дубликаты. Это означает, что элементы в списке хранятся в порядке их добавления, и один и тот же элемент может присутствовать несколько раз. Основные реализации интерфейса List
включают ArrayList
и LinkedList
, каждая из которых имеет свои особенности и области применения.
ArrayList
ArrayList
— это реализация динамического массива, которая обеспечивает быстрый доступ к элементам по индексу. Однако добавление и удаление элементов может быть медленным, особенно если они находятся в середине списка.
Пример использования ArrayList
Рассмотрим пример работы с ArrayList
:
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
Результат выполнения
LinkedList
LinkedList
— это реализация двусвязного списка, которая обеспечивает быстрые операции добавления и удаления элементов, независимо от их положения в списке. Однако доступ к элементам по индексу может быть медленным по сравнению с ArrayList
.
Пример использования LinkedList
Пример работы с LinkedList
:
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample {
public static void main(String[] args) {
List list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
Результат выполнения
Упражнения
Упражнение 1: Работа с ArrayList
Напишите программу, которая создает список книг и выводит их названия на экран.
Решение:
import java.util.ArrayList;
import java.util.List;
public class BookList {
public static void main(String[] args) {
List books = new ArrayList<>();
books.add("Война и мир");
books.add("Преступление и наказание");
books.add("Мастер и Маргарита");
for (String book : books) {
System.out.println(book);
}
}
}
Объяснение: Программа создает список книг с использованием ArrayList
и выводит их названия на экран с помощью цикла for-each
.
Упражнение 2: Работа с LinkedList
Напишите программу, которая создает список задач и выводит их на экран.
Решение:
import java.util.LinkedList;
import java.util.List;
public class TaskList {
public static void main(String[] args) {
List tasks = new LinkedList<>();
tasks.add("Сделать домашнее задание");
tasks.add("Сходить в магазин");
tasks.add("Позвонить другу");
for (String task : tasks) {
System.out.println(task);
}
}
}
Объяснение: Программа создает список задач с использованием LinkedList
и выводит их на экран с помощью цикла for-each
.