我有两个嵌套的以下结构的哈希图(嵌套级别可能会有所不同) 嵌套值可以是地图或地图数组的实例。
{
key1:[
{
nkey1:[
nval1,
nval2
]
},
{
nkey2:[
nval3,
nval4
]
}
]
}
目前我正在两个地图上进行等于操作,期望所有键都相同。我希望在比较时排除某些键。
说我应该说我想要排除key1 :: nkey2。我该如何做到这一点?
map.keySet()
对嵌套地图没有帮助。如何通过遍历此嵌套地图的键比较来有效地执行密钥?
答案 0 :(得分:1)
您可以展平地图,即将折叠的关键字包含在主地图中。对于您的示例,您将拥有密钥:
"key1"
"key1:nkey1"
"key1:nkey2"
在这种情况下,您不需要在每个键上使用深度等于,因为无论如何最终都会检查所有级别。并且您可以在遍历单个keySet()时删除所需的任何键。