Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何比较两个嵌套贴图(不包括某些键)_Java - Fatal编程技术网

Java 如何比较两个嵌套贴图(不包括某些键)

Java 如何比较两个嵌套贴图(不包括某些键),java,Java,我有两个嵌套的hashmap,其结构如下 key1: { key2: { bad_key: {} } } 如何比较两个HashMap,只忽略某些嵌套键 一种解决方案是遍历两个贴图(可以展平贴图,即将折叠的关键点包含到主贴图中),删除嵌套的关键点并执行以下操作: Map1.equals(Map2) 有更好的解决方案吗?您可以使用 MapDifference MapDifference=Maps.difference(map1,map2); 如果您不想使用外部库,我会这样做: Lis

我有两个嵌套的hashmap,其结构如下

key1: {
 key2: {
    bad_key: {}
}
}
如何比较两个HashMap,只忽略某些嵌套键

一种解决方案是遍历两个贴图(可以展平贴图,即将折叠的关键点包含到主贴图中),删除嵌套的关键点并执行以下操作:

Map1.equals(Map2)

有更好的解决方案吗?

您可以使用

MapDifference MapDifference=Maps.difference(map1,map2);
如果您不想使用外部库,我会这样做:

List<String> keys = Arrays.asList("one", "two", "three'");


for(String key: keys){
    if(!left.get(key).equals(right.get(key))){
       //do something with difference
    }
};
List key=Arrays.asList(“一”、“二”、“三”);
用于(字符串键:键){
如果(!left.get(key).equals(right.get(key))){
//做些与众不同的事
}
};
List<String> keys = Arrays.asList("one", "two", "three'");


for(String key: keys){
    if(!left.get(key).equals(right.get(key))){
       //do something with difference
    }
};