我有以下方法,我想比较2个HashMap : map 1和 map 2。
每个 HashMap 都有:
键:字符串。
value: ArrayList<String>
我想做的是检查两个 HashMap 是否相等
public boolean compareT(HashMap map1, HashMap map2) {
Iterator entriesH = map1.entrySet().iterator();
Iterator entriesE = map2.entrySet().iterator();
if (map1.size() == map2.size()) {
while (entriesE.hasNext() && entriesH.hasNext()) {
Map.Entry eEntry = (Map.Entry) entriesE.next();
Map.Entry hEntry = (Map.Entry) entriesH.next();
}
}
}
编辑
以下映射应返回 TRUE:
map1:
key: key1, value: v1, v6, v3, v2
key: key2, value: b1, b6, b2, b7
map2:
key: key1, value: v6, v3, v2, v1
key: key2, value: b6, b1, b7, b2
最佳答案
Should i order the values of every key before i compare them?
您的值是 ArrayList 对象。 ArrayList(或任何其他 List
实现)仅在具有相同顺序的相同条目时才被视为相等。
也许你可以使用某种java.util.Set
来代替。
关于java - 比较 Java 中的 2 个 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859523/