比较两个哈希映射以获得相等的值和相同的键集?

2022-09-01 01:17:24

如果我想找出它们是否都不包含与另一个不同的键,以及这些键的值是否相互匹配,我该如何最好地比较两个s。HashMap

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");

比较 A 和 B 时,由于键 B 和 D 不同,它应该会失败。

如何最好地比较未排序的哈希映射?


答案 1

只需使用 :

mapA.equals(mapB);

将指定的对象与此映射进行比较以确定相等性。如果给定对象也是映射,并且两个映射表示相同的映射,则返回 true


答案 2

检查两个 s。equalskeySet()HashMap

注意:

如果包含键,则没有问题,但如果 Map 包含类型键,则需要确保类实现 。MapStringobjAobjAequals()


推荐