Intersection of java.util.Map

mandy picture mandy · Nov 1, 2012 · Viewed 28.1k times · Source

Is there a method in java.util.Map or any util to perform an intersection on two maps? (To intersect two maps by the "keys")

I am not able to find any. I can always implement my own intersection logic, but I was hoping there is already some operation in one of the java.util.* classes that would do this.

Answer

Martin Ellis picture Martin Ellis · Nov 1, 2012

How about:

Map map1 = ...;
Map map2 = ...;
Map result = new ...(map1);
result.keySet().retainAll(map2.keySet());

or:

Map map1 = ...;
Map map2 = ...;
Set result = new ...(map1.keySet());
result.retainAll(map2.keySet());