Ответ
В Java структуры данных представлены массивами и коллекциями из фреймворка java.util.
1. Массивы (Arrays)
- Фиксированный размер, хранят элементы одного типа.
- Пример:
int[] numbers = new int[10];
2. Интерфейсы коллекций (Java Collections Framework)
List— упорядоченная коллекция, допускает дубликаты.ArrayList— быстрый доступ по индексу, медленные вставки/удаления в середине.LinkedList— быстрые вставки/удаления, медленный доступ по индексу.
Set— коллекция уникальных элементов.HashSet— хранение без порядка, основано наhashCode().TreeSet— элементы отсортированы (используетComparable/Comparator).
Queue/Deque— коллекции, работающие по принципу очереди.PriorityQueue— очередь с приоритетом.ArrayDeque— двусторонняя очередь на основе массива.
Map— хранит пары "ключ-значение".HashMap— не гарантирует порядок.LinkedHashMap— сохраняет порядок вставки.TreeMap— сортирует ключи.
3. Устаревшие синхронизированные классы (legacy)
Vector,Stack,Hashtable— синхронизированы, но менее эффективны. Вместо них используйтеCollections.synchronizedList()или конкуррентные коллекции изjava.util.concurrent.
Пример выбора:
- Для частого доступа по индексу —
ArrayList. - Для частых вставок/удалений в начале/конце —
LinkedListилиArrayDeque. - Для хранения уникальных элементов —
HashSet. - Для быстрого поиска по ключу —
HashMap.