2010-02-18 8 views

Respuesta

7

Si está utilizando google-collections (y de manera realista, creo que debería estar en la ruta de clase de más o menos cada proyecto Java no trivial) es simplemente:

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

También puede usar 'MapDifference mapDiff = Maps.difference (FOO, BAR);' y examinar el objeto resultante para obtener una descripción completa de cómo difieren los mapas. –

+0

Oh wow. No he mirado MapDifference antes, gracias Kevin. – Cowan

13
Set missing = new HashSet(foo.keySet()); 
missing.removeAll(bar.keySet()); 
+1

+1 para la fabricación de un nuevo conjunto. foo.keySet(). removeAll() realmente modificará el mapa foo. – Jherico

Cuestiones relacionadas