Es ist schwierig, sich eine Situation vorzustellen, in der du das Programm benötigst, das du hier schreiben sollst. Ein paar kleine Änderungen können es aber zu einer praktischen Lösung machen. Du kannst es dir auch als Teil von etwas Größerem vorstellen, wie z.B. einer Suchmaschine. Lass uns ein Dictionary erstellen, es mit (Nachname, Vorname)-Einträgen füllen und dann Personen mit gleichem Vornamen entfernen.
Wir brauchen keine Wiederholungen
- 10
Gesperrt
Kommentare (3)
- Beliebt
- Neu
- Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Vincent Terzenbach
15 September 2022, 19:04
Kurzer Hinweis, welcher mich sehr frustriert hat:
Es ist nicht die Aufgabe, die Duplikate zu entfernen, dass jeder Vorname nur noch einmal vorhanden ist, sondern man muss lediglich alle Einträge der Map löschen, wenn der zugehörige Vorname mehr als einmal vorhanden ist.
Das steht zwar genauso in der Aufgabe, war aber zumindest für mich unlogisch, vor allem da mich der Methodenname doppelteVornamenEntfernen() zusätzlich in die Irre geführt hat...
0
Alfred Walther
21 Mai 2020, 00:05
You should mention that you need to iterate over a List, not a Collection.
Otherwise, you'll get a ConcurrentModificationException.
+3
Daniel Ritter Full Stack Developer bei cituro GmbH
15 April 2021, 12:44
Im Normalfall würd ich vorschlagen, die Exception zu umgehen, indem man nen Iterator nutzt. Da die "elementNachWertAusMapEntfernen"-Methode vorgegeben ist, bringt das aber nicht wirklich was.
In der Musterlösung wird eine Kopie der Map erstellt. Wenn dann über die Kopie iteriert wird, kann die originale Map ohne Bedenken verändert werden. Ich habs aber auch mit Listen gemacht... Über die Map iterieren und alle Namen, welche mehrfach vorkommen, in eine entsprechende Liste schreiben. Danach nochmal über die Liste iterieren und für jeden Eintrag die "elementNachWertAusMapEntfernen"-Methode aufrufen.
Anmerkung: Eine Liste ist ebenfalls eine Collection ;-)
+2