Встречается на 2% собеседований по Java

Как хранятся несколько значений с одним ключом

В Java для хранения нескольких значений по одному ключу можно использовать:

  1. List/Set в качестве значения:
java
Map<String, List<String>> map = new HashMap<>();
map.computeIfAbsent("key", k -> new ArrayList<>()).add("value1");
map.get("key").add("value2");
  1. Multimap из Guava (более удобный вариант):
java
Multimap<String, String> multimap = ArrayListMultimap.create();
multimap.put("key", "value1");
multimap.put("key", "value2");
  1. Map с массивом (менее предпочтительно):
java
Map<String, String[]> map = new HashMap<>();
map.put("key", new String[]{"value1", "value2"});

Вариант с List наиболее универсален и не требует внешних библиотек. Guava Multimap предоставляет более удобный API, но добавляет зависимость.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы