Сравнение HashMaps в Java - PullRequest
       36

Сравнение HashMaps в Java

6 голосов
/ 19 февраля 2010

У меня есть два HashMaps: FOO & BAR.

HashMap FOO - это расширенный набор HashMap BAR.

Как узнать, каких «ключей» не хватает в HashMap BAR (то есть существует в FOO, но не в BAR)?

Ответы [ 2 ]

13 голосов
/ 19 февраля 2010
Set missing = new HashSet(foo.keySet());
missing.removeAll(bar.keySet());
7 голосов
/ 19 февраля 2010

Если вы используете google-collection (и, на самом деле, я думаю, что это должно быть на пути к классам более или менее любого нетривиального проекта Java), это просто:

Set<X> missing = Sets.difference(foo.keySet(), bar.keySet();
...