membersound membersound - 2 months ago 50
Java Question

Comparing two hashmaps for equal values and same key sets?

How can I best compare two

HashMap
s, if I want to find out if none of them contains different keys than the other, and if the values of that keys match each other.

Map<objA, objB> mapA = new HashMap<objA, objB>();
mapA.put("A", "1");
mapA.put("B", "2");

Map<objA, objB> mapB = new HashMap<objA, objB>();
mapB.put("D", "4");
mapB.put("A", "1");


When comparing A with B, it should fail due to different keys B and D.

How could I best compare non-sorted hashmaps?

Answer

Make an equals check on the keySet() of both HashMaps.

NOTE:

If your Map contains String keys then it is no problem, but if your Map contains objA type keys then you need to make sure that your class objA implements equals().

Comments