比较Java中的HashMaps

use*_*829 6 java comparison hashmap

我有两个HashMaps:FOO&BAR.

HashMap FOO是HashMap BAR的超集.

如何找出HashMap BAR中缺少的"键"(即存在于FOO但不存在于BAR中)?

eri*_*son 13

Set missing = new HashSet(foo.keySet());
missing.removeAll(bar.keySet());
Run Code Online (Sandbox Code Playgroud)


Cow*_*wan 7

如果你正在使用谷歌收藏(实际上我认为它应该在或多或少的每个非平凡的Java项目的类路径上)它只是:

Set<X> missing = Sets.difference(foo.keySet(), bar.keySet();
Run Code Online (Sandbox Code Playgroud)