В языке Java коллекции представляют собой контейнеры для хранения и управления группами объектов. Они входят в состав Java Collections Framework (JCF) и включают интерфейсы и их реализации, такие как List
, Set
и Map
.
Понимание того, как работают коллекции в Java, необходимо каждому разработчику. Рассмотрим их ключевые интерфейсы, особенности и практические примеры.
1. Интерфейс List
Интерфейс List
хранит элементы в том порядке, в котором они были добавлены. Он допускает дубликаты и обеспечивает доступ по индексу.
Наиболее популярные реализации:
- ArrayList – быстрая вставка и доступ по индексу.
- LinkedList – эффективные вставки и удаления в середине списка.
import java.util.ArrayList;
public class ListExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Apple"); // допускаются дубликаты
System.out.println(fruits.get(1)); // вывод: Banana
}
}
2. Интерфейс Set
Интерфейс Set
представляет коллекцию, которая не содержит дубликатов. Он используется для хранения уникальных элементов.
Часто используются:
- HashSet – не гарантирует порядок элементов.
- LinkedHashSet – сохраняет порядок добавления.
- TreeSet – хранит элементы в отсортированном виде.
import java.util.HashSet;
public class SetExample {
public static void main(String[] args) {
Set<String> cities = new HashSet<>();
cities.add("Berlin");
cities.add("London");
cities.add("Berlin"); // дубликат не будет добавлен
System.out.println(cities.size()); // вывод: 2
}
}
3. Интерфейс Map
Map
используется для хранения пар «ключ – значение». Ключи уникальны, а значения могут повторяться.
Основные реализации:
- HashMap – быстрая работа, не гарантирует порядок.
- LinkedHashMap – сохраняет порядок добавления.
- TreeMap – сортирует по ключу.
import java.util.HashMap;
public class MapExample {
public static void main(String[] args) {
Map<Integer, String> users = new HashMap<>();
users.put(1, "Alice");
users.put(2, "Bob");
users.put(1, "Charlie"); // значение по ключу 1 перезапишется
System.out.println(users.get(1)); // вывод: Charlie
}
}
Заключение
Коллекции являются основой работы с данными в Java. Понимание различий между List
, Set
и Map
поможет вам выбрать правильную структуру для ваших задач. Подробнее о коллекциях читайте в учебнике на ExamClouds.