Что значит сказать, что значения должны иметь тип коллекции
Возможно, вы имеете в виду метод values()
интерфейса Map
.
Независимо от того, каким может быть тип отдельного значения в Map
(Integer
, String
, Set<String>
и т. Д.), При вызове метода values()
, который возвращает все сохраненные значенияв Map
вы получите Collection
из этих значений.
Например, в случае вашего:
Map<String,Set<String>> map;
вызов values()
даст вам:
Collection<Set<String>> values = map.values();
Причины, по которым здесь возвращается общее Collection
:
- Значения не обязательно должны быть уникальными (могут быть дубликаты), поэтому мы не можем вернуть
Set
значений. - Значения не должны быть упорядочены (это записи в
Map
не должны быть упорядочены), поэтому возвращение List
значений не требуетимеет смысл.