Mam dwa HashMaps: FOO & BAR.Porównywanie HashMaps w Javie
HashMap FOO to nadzbiór zestawu HashMap BAR.
Jak mogę się dowiedzieć, jakich "kluczy" brakuje w pliku HashMap BAR (np. Istnieje w FOO, ale nie BAR)?
Mam dwa HashMaps: FOO & BAR.Porównywanie HashMaps w Javie
HashMap FOO to nadzbiór zestawu HashMap BAR.
Jak mogę się dowiedzieć, jakich "kluczy" brakuje w pliku HashMap BAR (np. Istnieje w FOO, ale nie BAR)?
Jeśli używasz google-collections (i realnie myślę, że powinno być na ścieżce klasy o mniej lub bardziej każdego projektu Java nietrywialne) to po prostu:
Set<X> missing = Sets.difference(foo.keySet(), bar.keySet();
Set missing = new HashSet(foo.keySet());
missing.removeAll(bar.keySet());
+1 do produkcji nowy zestaw. foo.keySet(). removeAll() faktycznie zmodyfikuje mapę foo. – Jherico
Można również użyć 'MapDifference mapDiff = Maps.difference (FOO, BAR);' i zbadać wynikowy obiekt, aby uzyskać pełny opis różnic w mapach. –
Oh wow. Nie patrzyłem wcześniej na MapDifference, dziękuję Kevin. – Cowan