我看到#filter
在Map
上定義,但我無法弄清楚如何使用它。任何人都在意分享一個例子嗎?如何在Kotlin的Map實例中使用`filter`?
我有了一個更深刻嵌套TreeMap實例(TreeMap<String, Map<String, Map<*, *>>>
),我想filter/find
第一(這是唯一的域)擁有的東西在價值更深相關的某些特性的頂級鍵。
這裏的數據看起來的樣子:
{
"i1": {
"aliases": {}
},
"i2": {
"aliases": {}
},
"i3": {
"aliases": {}
},
"i4": {
"aliases": {
"alias-im-looking-for": {}
}
}
}
我已經解決了它,現在這個以下非功能代碼:
val indexToAliasMappingType = LinkedTreeMap<String, Map<String, Map<*, *>>>()
val indexToAliasMappings = Gson().fromJson(response.jsonString, indexToAliasMappingType.javaClass)
var currentIndexName = ""
for ((index, aliasMappings) in indexToAliasMappings) {
val hasCurrentAlias = aliasMappings.get("aliases")?.containsKey(alias)
if (hasCurrentAlias != null && hasCurrentAlias) {
currentIndexName = index
}
}
return currentIndexName