Kann mir jemand sagen, wo meine Fehler liegen und einen Tipp geben, wie ich es besser machen kann?
Can anybody tell me, where I made mistakes and give me a hint what I could do better?
Vielen Dank /Many thanks
package de.codegym.task.task08.task0817;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
/*
Wir brauchen keine Wiederholungen
*/
public class Solution {
public static HashMap<String, String> mapErstellen() {
HashMap<String, String> map = new HashMap<String, String>();
map.put("Washington", "George");
map.put("Revier", "Paul");
map.put("Franklin", "Benjamin");
map.put("Bluemchen", "Benjamin");
map.put("Winthrop", "John");
map.put("Dow", "John");
map.put("Arnold", "Benedict");
map.put("Fart", "Benedict");
map.put("Woodhull", "Abraham");
map.put("Brewster", "Caleb");
return map; //HashMap erstellt und 10x Vor- und Nachnamen eingetragen.
}
public static void doppelteVornamenEntfernen(HashMap<String, String> map) {
Set<String> mySet = new HashSet<String>();
for (Iterator<Map.Entry<String, String>> itr = map.entrySet().iterator(); itr.hasNext();){
Map.Entry<String, String> inhalt = itr.next();
String wert = inhalt.getValue();
if (!mySet.add(wert))
elementNachWertAusMapEntfernen(map, wert);
}
}
public static void elementNachWertAusMapEntfernen(Map<String, String> map, String wert) {
HashMap<String, String> kopie = new HashMap<String, String>(map);
for (Map.Entry<String, String> paar : kopie.entrySet()) {
if (paar.getValue().equals(wert))
map.remove(paar.getKey());
}
}
public static void main(String[] args) {
HashMap<String,String> map = mapErstellen();
doppelteVornamenEntfernen(map);
}
}