Есть ли 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")