私は以下のメソッドを持っています.2つのHashMap :map1とmap2を比較したいと思います。Javaで2つのHashMapsを比較します。
ごとの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();
}
}
}
EDIT
等しいかどうかを確認することです
key: string.
value: ArrayList<String>
マップはretuする必要がありますTRUE RN:
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
だから何が問題なのですか? – csmckelvey
すべてのキー/値が同じであっても、2つのマップが同じ順序でエントリを返すという保証はありません。 – biziclop
'map1.equals(map2)'は、 'Map :: equals'(https://docs.oracle.com)で指定されているように、順序にかかわらず同じ値にマップされた同じキーを2つのマップが含んでいることを確認します/javase/8/docs/api/java/util/Map.html#equals-java.lang.Object-) – yshavit