Ответ
В Java Collections Framework коллекции делятся на три основные категории, реализующие разные интерфейсы:
1. List (Список)
- Характеристики: Упорядоченная коллекция с доступом по индексу. Допускает дубликаты и
null. - Реализации:
ArrayList,LinkedList,Vector. - Пример:
List<String> list = new ArrayList<>(); list.add("Element1"); list.get(0); // Возвращает "Element1"
2. Set (Множество)
- Характеристики: Хранит только уникальные элементы. Порядок зависит от реализации.
- Реализации:
HashSet(не гарантирует порядок),LinkedHashSet(сохраняет порядок добавления),TreeSet(сортирует). - Пример:
Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); // Не добавится, элемент уже существует
3. Queue (Очередь)
- Характеристики: Коллекция, предназначенная для обработки элементов в определенном порядке (обычно FIFO).
- Реализации:
LinkedList(также реализуетDeque),PriorityQueue,ArrayDeque. - Пример:
Queue<String> queue = new LinkedList<>(); queue.offer("First"); queue.poll(); // Удаляет и возвращает "First"
Отдельно стоит Map (Отображение)
- Хотя
Mapне наследуется отCollection, он является ключевой частью фреймворка. Хранит пары "ключ-значение". Ключи уникальны. - Реализации:
HashMap,LinkedHashMap,TreeMap,Hashtable. - Пример:
Map<String, Integer> scores = new HashMap<>(); scores.put("Alice", 95); scores.get("Alice"); // Возвращает 95
Почему это важно: Выбор правильного типа коллекции напрямую влияет на производительность и корректность операций (поиск, вставка, удаление).