我有Map<String, Map<String, Int>>
。
我应该如何分析?我想计算每个键有多少个值。
假设我们有一张类似{jack={a=1, b=2, c=3}, amy={d=1, a=3, c=1, e=5}
的地图
我的目标是通过地图的每个键来获取元素数量,例如:[jack=3, amy=4]
答案 0 :(得分:1)
您可以遍历Map并获取每个键的条目。
for (Map.Entry<String, Map<String, Integer>> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue().size());
}
相当于Kotlin的
for ((key, value) in map) {
println(key + " = " + value.size)
}
如果您只对尺寸感兴趣,那么可以。
如果需要更多数据,可以进一步使用entry.getValue()
遍历内部地图。
答案 1 :(得分:0)
在Kotlin中,您只需将列表作为Hashmap初始化即可,然后可以轻松地在hashMap上进行迭代并获取键和元素数:
val hashMap = hashMapOf(
"jack" to mapOf("a" to 1, "b" to 2, "c" to 3),
"amy" to mapOf("d" to 1, "a" to 3, "c" to 1, "e" to 5)
)
for (e in hashMap) {
println("Key: ${e.key}, elementsCount: ${e.value.size}, elements: ${e.value}")
}