Есть ли Multimap в Котлине?
Мне нужно хранить значения на карте, как это:
val map = HashMap<String, Set<String>>()
но трудно взаимодействовать с Set внутри карты.
есть ли какие-либо реализации multimap в Котлине, такие как Multimap в Google Guava?
2 ответов
нет, в настоящее время нет. И, вероятно, в будущем его не будет.
ссылка: https://discuss.kotlinlang.org/t/the-standard-library-and-a-kotlin-manifesto/1303/6
альтернатива:
org.springframework.util.MultiValueMap
org.apache.commons.collections4.MultiMap
com.google.common.collect.Multimap
сыграет с Set
в вашем примере, вы можете:
map["key"].forEach(::println)
или что-то еще.
но трудно взаимодействовать с Set внутри карты.
это не так сложно, например:
val map = HashMap<String, MutableSet<String>>()
map.getOrPut("howdy") { mutableSetOf() }.add("world")