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.
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());
If you're using Guava, you can use Maps.difference
to get a MapDifference
object, from which you can extract the entriesInCommon()
and entriesDiffering()
as maps. (Disclosure: I contribute to Guava.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With