Является ли интерфейс Map частью коллекций (Collection) в Java?

«Является ли интерфейс Map частью коллекций (Collection) в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, Map не является подтипом интерфейса Collection, но входит в Java Collections Framework.

Ключевое отличие:

  • Collection<E> (List, Set, Queue) работает с одиночными элементами типа E.
  • Map<K, V> работает с парами «ключ-значение», где каждый элемент — это объект Entry<K, V>.

Почему Map — не Collection: В архитектуре Java Map и Collection — это два отдельных корневых интерфейса фреймворка. Map не расширяет Collection.

Как получить коллекции из Map:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("orange", 5);

// Получить коллекции представлений (views):
Set<String> keys = map.keySet();          // Множество ключей
Collection<Integer> values = map.values(); // Коллекция значений
Set<Map.Entry<String, Integer>> entries = map.entrySet(); // Множество пар

Эти методы возвращают представления (views), связанные с исходной картой. Изменения в карте немедленно отражаются в этих представлениях, и наоборот (с ограничениями, например, через values() нельзя добавить элемент).