Какие знаешь виды коллекций

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

Ответ

В Java основные коллекции делятся на интерфейсы и их реализации:

  1. List – упорядоченная коллекция с возможностью дублирования:

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

    • HashSet – хэш-таблица
    • TreeSet – сортированное дерево
    Set<Integer> hashSet = new HashSet<>();
  3. Map – пары ключ-значение:

    • HashMap – хэш-таблица
    • TreeMap – сортированное дерево
    Map<String, Integer> hashMap = new HashMap<>();
  4. Queue – очередь:

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

Также есть устаревшие коллекции (Vector, Hashtable) и потокобезопасные аналоги (ConcurrentHashMap, CopyOnWriteArrayList).