【发布时间】:2016-11-10 17:32:09
【问题描述】:
我看到#filter 是在Map 上定义的,但我不知道如何使用它。有人愿意分享一个例子吗?
我有一个深度嵌套的 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
【问题讨论】:
标签: java functional-programming gson kotlin