У меня есть два HashMaps: FOO & BAR.
HashMap FOO - это расширенный набор HashMap BAR.
Как узнать, каких «ключей» не хватает в HashMap BAR (то есть существует в FOO, но не в BAR)?
Set missing = new HashSet(foo.keySet()); missing.removeAll(bar.keySet());
Если вы используете google-collection (и, на самом деле, я думаю, что это должно быть на пути к классам более или менее любого нетривиального проекта Java), это просто:
Set<X> missing = Sets.difference(foo.keySet(), bar.keySet();