Hallo an alle,
ich weiß nicht mehr weiter. ich habe diese Lösung von anderen hier im Forum quasi "abgeschrieben" (selbst wäre ich nicht darauf gekommen), in einer anderen IDE funktioniert es auch problemlos, aber CodeGym meckert, die letzten beiden Kriterien seien nicht erfüllt. Wobei das zweitletzte ja erfüllt ist, denn die Funktion wird aufgerufen.
kann mir jemand da helfen?
package de.codegym.task.task08.task0817;
import java.util.HashMap;
import java.util.Map;
import java.util.HashSet;
/*
Wir brauchen keine Wiederholungen
*/
public class Solution {
public static HashMap<String, String> mapErstellen() {
HashMap<String, String> map = new HashMap<String, String>();
map.put("Müller", "Bernd");
map.put("Mayer", "Karl");
map.put("Gehrke", "Fritz");
map.put("Mander", "Karl");
map.put("Alt", "Franz");
map.put("Jung", "Fritz");
map.put("di Salvo", "Antonio");
map.put("Durhan", "Farid");
map.put("Anush", "Kumar");
map.put("Wang", "Xiaodong");
return map;
}
public static void doppelteVornamenEntfernen(HashMap<String, String> map) {
HashMap<String, String> kopie = new HashMap<String, String>(map);
HashSet<String> set = new HashSet();
for(String value : kopie.values()){
if(!set.add(value))
elementNachWertAusMapEntfernen(map, value);
}
}
public static void elementNachWertAusMapEntfernen(HashMap<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> verzeichnis = mapErstellen();
doppelteVornamenEntfernen(verzeichnis);
System.out.println(verzeichnis.toString()); */
}
}