Что такое коллекции в программировании?

«Что такое коллекции в программировании?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Коллекции — это структуры данных для хранения и управления группами объектов. Они предоставляют стандартизированные интерфейсы для добавления, удаления, поиска и итерации по элементам, что повышает читаемость, переиспользуемость и эффективность кода.

Основные типы коллекций:

  1. Список (List/Array) — упорядоченная коллекция с индексами, допускает дубликаты.

    List<String> names = new ArrayList<>();
    names.add("Alice");
    names.add("Bob");
    String first = names.get(0); // Доступ по индексу
  2. Множество (Set) — хранит только уникальные элементы. Порядок не гарантируется (HashSet) или сохраняется (LinkedHashSet, TreeSet).

    Set<Integer> uniqueNumbers = new HashSet<>();
    uniqueNumbers.add(1);
    uniqueNumbers.add(1); // Не добавится
    System.out.println(uniqueNumbers.size()); // 1
  3. Словарь/Ассоциативный массив (Map/Dictionary) — хранит пары «ключ-значение». Ключи уникальны.

    Map<String, Integer> ages = new HashMap<>();
    ages.put("Alice", 25);
    ages.put("Bob", 30);
    int aliceAge = ages.get("Alice"); // 25

Почему это важно: Использование коллекций вместо примитивных массивов абстрагирует логику хранения данных от алгоритмов их обработки, что соответствует принципам инкапсуляции и упрощает поддержку кода.