Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!news-2.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Christian H. Kuhn" Newsgroups: de.comp.lang.java Subject: Re: Element in TreeMap wird nicht gefunden Date: Mon, 1 Jan 2018 13:25:21 +0100 Lines: 34 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net jeddaedZ2nwMNGGwRioj3QDnbT1cPze9TT9wqPozDypBTvZho= Cancel-Lock: sha1:uuCxSEDBLXuJbSmofNvxIJ+98Vc= User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 In-Reply-To: Xref: csiph.com de.comp.lang.java:13155 Am 31.12.2017 um 19:54 schrieb Michael Paap: > "Forsche nicht am Patienten, sondern im Reagenzglas". Eine Regel, die beim Problem des Ausgangspostings berechtigt war und deren Beachtung zur Lösung geführt hat. Allerdings erfasst man im Reagenzglas nicht unbedingt allen Forschungsbedarf. Den erkennt man erst bei der Arbeit am Patienten. Und bis man da den Fehler soweit eingegrenzt hat, dass man das einfache Modell zur Untersuchung isolieren kann, hat man den Fehler schon gelöst. Aktuelles Beispiel: Ab einem bestimmten Punkt wurden im Dijkstra-Algorithmus Knoten nicht mehr aktualisiert. Ich habe einen Knoten außerhalb der Menge der noch nicht besuchten Knoten errechnet, die Distanz bestimmt und ggf. den Knoten in der Menge ausgewechselt. Diese Menge wird durch eine TreeMap repräsentiert. Und bei bestimmten Knoten klappte das Auswechseln nicht, obwohl der neue und der alte Knoten mit equals() und compareTo() gleich waren. ABER durch das Ändern der Distanz änderte sich der Weg zum gesuchten Knoten in der Menge, und da war die alte Version halt nicht. Denkfehler. Lösung: Alten Knoten in Menge suchen, bevor Distanz geändert wird. War ein Problem, das ich im Reagenzglas nicht mal vermutet hatte, weil es zufällig bei den Testfällen nicht auftrat. > Und es gibt nun mal mit Sicherheit viel mehr Leute, die mit Maps schon > auf die Schnauze gefallen sind und draus gelernt haben, als Leute, die > wissen oder auch nur wissen wollen, was zur Hölle das Browser-Spiel > Travian ist. ;-) Im Kontext dieser Gruppe sind alle Aussagen mit „viel mehr Leute“ a priori falsch :-) lg QNo