Какие знаешь структуры данных

«Какие знаешь структуры данных» — вопрос из категории Алгоритмы и структуры данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Массивы - фиксированный размер, быстрый доступ по индексу.
Списки (ArrayList, LinkedList) - динамический размер, разная реализация вставки/удаления.
Стек (LIFO) - push, pop, peek.
Очередь (FIFO) - обычная и двусторонняя (Deque).
Множества (HashSet, TreeSet) - уникальные элементы, разная скорость операций.
Хэш-таблицы (HashMap) - пары ключ-значение, O(1) для основных операций.
Деревья (BinaryTree, BST) - иерархическая структура, быстрый поиск.
Графы - узлы и связи между ними.

Пример:

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");

Map<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");