У меня есть две хэш-карты хэш-карт.для экземпляра let,
Hashmap map1 =
key : mapview Value : {backgroundimage=character varying, mapviewname=character varying, mapviewid=character}
key : am_mypage_template_mgs Value : {resourceid=integer, pageid=integer}
key : am_tomcatinfo Value : {resourceid=bigint, url=character varying, sslenabled=character varying}
и Hashmap map2 =
key : mapview Value : {backgroundimage=character varying, mapviewname=character varying, mapviewid=integer}
key : am_mypage_template_mgs Value : {resourceid=integer}
Я должен сравнить эти два и найти, какие ключи от map1 отсутствуют в map2.Если ключи присутствуют, я должен сравнить внутреннюю карту и сравнить ключи внутренней карты map1 с внутренней картой map2.Если ключи присутствуют, я должен сравнить значения, соответствующие внутренней карте map1 с map2.Мой код:
map1.entrySet().forEach(entry -> {
if (map2.containsKey(entry.getKey())) {
if (entry.getValue().equals(map2.get(entry.getKey()))) {
count++;
} else {
entry.getValue().entrySet().forEach(inside_entry->{
if(map2.get(entry.getKey()).containsKey(inside_entry.getKey())) {
Map<String, String> n = new HashMap<String, String>();
n.putAll(map2.get(entry.getKey()));
if((inside_entry.getValue()).equals(map2.get(n))){
}
else {
System.out.println("Tablename1 : "+ entry.getKey() +" Key :"+inside_entry.getKey()+" value : "+inside_entry.getValue());
}
}
});
System.out.println(entry.getValue());
}
} else {
System.out.println("\"" + entry.getKey() + "\" entire table is not found");
}
});
Мой вывод должен быть таким,
key am_tomcatinfo in map1 missing in map2
In am_mypage_template_mgs, pageid in map1 is missing in map2
In mapview, mapviewid=character in map1 is not equal to mapviewid=integer in map2
Что мне делать?