Hey,
wie der Name schon sagt, will ich 2 Hashmaps vergleichen. Wenn in beiden Maps der selbe key mit dem selben value existiert, will ich diese Ausgeben. Dazu habe ich jetzt mal 2 Methoden geschrieben:
und
Nun bei dieser Methode stimmt irgendetwas nicht. Er gibt mir einfach die komplette HashlMap aus (wahrscheinlich habe ich die Methode get() nicht richtig verstanden^^).
Bei der ersten Methode hab ich außerdem noch eine Frage: Wie funktioniert die Methode contains? Wenn ich zum Beispiel ein Byte Array habe, gibt die Funktion true zurück, wenn beide Hashmaps je die selben Byte arrays mit den selben Werten beinhaltet?
wie der Name schon sagt, will ich 2 Hashmaps vergleichen. Wenn in beiden Maps der selbe key mit dem selben value existiert, will ich diese Ausgeben. Dazu habe ich jetzt mal 2 Methoden geschrieben:
Java:
public void searchForSameData(HashMap<?, ?> map1, HashMap<?, ?> map2) {
for (Entry<?, ?> getData : map1.entrySet()) {
if (map2.containsKey(getData.getKey())) {
if (map2.containsValue(getData.getValue())) {
System.out.println(getData.getKey() + " "
+ getData.getValue());
}
}
}
}
und
Java:
public void searchForSameData2(HashMap<?, ?> map1, HashMap<?, ?> map2) {
for (Entry<?, ?> data : map1.entrySet()) {
if (map1.get(data.getKey().hashCode()) == map2.get(data
.getKey().hashCode())) {
if (map1.get(data.getValue().hashCode()) == map2.get(data
.getValue().hashCode())) {
System.out.println(data.getKey() + " " + data.getValue());
}
}
}
}
Nun bei dieser Methode stimmt irgendetwas nicht. Er gibt mir einfach die komplette HashlMap aus (wahrscheinlich habe ich die Methode get() nicht richtig verstanden^^).
Bei der ersten Methode hab ich außerdem noch eine Frage: Wie funktioniert die Methode contains? Wenn ich zum Beispiel ein Byte Array habe, gibt die Funktion true zurück, wenn beide Hashmaps je die selben Byte arrays mit den selben Werten beinhaltet?