Hallo, ich habe mir eine Methode geschrieben, die eine neue Map berechnen soll, in der nur Einträge vorkommen, die in den beiden übergebenen Maps gleich sind.
In meiner main-Methode habe ich mir wie folgt 2 Maps definiert und die Methode aufgerufen:
Eigentlich sollte ich jetzt eine Map mit genau dem Inhalt wiederbekommen. Leider kriege ich nur die leere Menge zurück. Hab kein Schimmer warum. Vielleicht könnt Ihr mir ja helfen.
Danke und viele Grüße
Code:
public static <K, V> Map<K, V> mapWithSameEntries(Map<K, V> m1, Map<K, V> m2) {
Map<K, V> result = new HashMap<K, V>();
Set<K> keys1 = m1.keySet();
for (K key1 : keys1) {
if (m2.containsKey(key1)) {
if (m1.get(key1) == m2.get(key1)) {
result.put(key1, m1.get(key1));
}
}
}
return result;
}
In meiner main-Methode habe ich mir wie folgt 2 Maps definiert und die Methode aufgerufen:
Code:
Map<String, Integer> m = new HashMap<String, Integer>();
Map<String, Integer> m2 = new HashMap<String, Integer>();
m.put("test",1);
m2.put("test",1);
Map<String, Integer> result = Collections_Uebungen.<String, Integer>mapWithSameEntries(m, m2);
System.out.println(result);
Eigentlich sollte ich jetzt eine Map mit genau dem Inhalt wiederbekommen. Leider kriege ich nur die leere Menge zurück. Hab kein Schimmer warum. Vielleicht könnt Ihr mir ja helfen.
Danke und viele Grüße