mem*_*und 31 java collections comparison hashmap
HashMap如果我想知道它们中是否包含不同的键,并且它们的值是否相互匹配,我怎样才能最好地比较两个s.
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");
Run Code Online (Sandbox Code Playgroud)
将A与B进行比较时,由于键B和D不同,它应该失败.
我怎样才能最好地比较未排序的哈希图?
use*_*315 44
只需使用:
mapA.equals(mapB);
将指定对象与此映射进行相等性比较.如果给定对象也是一个映射,并且两个映射表示相同的 映射,则返回true
Nar*_*hai 27
做一个equals支票上keySet()两者HashMap秒.
注意:
如果你Map包含String键,那么没问题,但如果你的Map包含objA类型键,那么你需要确保你的类objA实现equals().
Ant*_*lls 11
将mapB中的每个键与mapA中的对应键进行比较.然后检查mapB中是否存在mapA中没有任何键
public boolean mapsAreEqual(Map<String, String> mapA, Map<String, String> mapB) {
try{
for (String k : mapB.keySet())
{
if (!mapA.get(k).equals(mapB.get(k))) {
return false;
}
}
for (String y : mapA.keySet())
{
if (!mapB.containsKey(y)) {
return false;
}
}
} catch (NullPointerException np) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119031 次 |
| 最近记录: |