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

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

Ответ

В Java Collections Framework есть несколько основных структур данных:

  1. List (упорядоченные коллекции):

    • ArrayList - динамический массив
    • LinkedList - двусвязный список
    List<String> arrayList = new ArrayList<>();
    List<String> linkedList = new LinkedList<>();
  1. Set (уникальные элементы):

    • HashSet - хэш-таблица
    • TreeSet - красно-черное дерево (сортированный)
    • LinkedHashSet - сохраняет порядок вставки
  2. Map (пары ключ-значение):

    • HashMap - хэш-таблица
    • TreeMap - сортированная по ключам
    • LinkedHashMap - сохраняет порядок вставки
  3. Queue/Deque (очереди):

    • PriorityQueue - очередь с приоритетом
    • ArrayDeque - двусторонняя очередь

Каждая структура имеет свои особенности по производительности операций (O(1), O(log n), O(n)) в зависимости от операции (вставка, поиск, удаление). Выбор зависит от конкретных требований приложения.