Weiß jemand, ob die Map, die ihr zugeführten Elemente, gleich sortiert ablegt?
Ich hatte mich vor ewigen Zeiten mal darüber gestritten

und das schale Gefühl gehabt, intern sind die Maps nur ein Array/List mit Keys.
Allerdings werde ich auch heute nicht vollständig schlau aus der Hilfe (Version 4.6).
Auszug aus der Hilfe - bei Map:
"Die Einfüge-Reihenfolge der Elemente wird beim Verwenden einer Map nicht gespeichert
(anders als bei einer LinkedList) und daher kann sie auch nicht sortiert werden. "
Ich finde der Text ist mehrdeutig. Ist mit 'Einfüge-Reihenfolge' die Einfüge-Reihenfolge
des Anwenderprogramms oder die Einfüge-Reihenfolge der Map gemeint?
Vermute allerdings man meint das Erstere.
Sollte es in dem Fall nicht besser heißen (mein Geschmiere in rot):
"Die Einfüge-Reihenfolge der Elemente wird beim Verwenden einer Map nicht gespeichert
(anders als bei einer LinkedList) und daher muß sie auch nicht sortiert werden,
weil sie bereits sortiert abgelegt wurde. "
Ein Text als Alternative (weiß selbst daß so eine Beschreibung manchmal schwierig sein kann):
Maps (auch bekannt als Hashtable oder Dictionary) sind entwickelt worden, um das Suchen
in großen Datenmengen möglichst schnell und effektiv zu ermöglichen. Dazu wird jeder Eintrag
mit einem Key ("Schlüssel") versehen. Anhand dieses Keys wird der Eintrag in die Map einsortiert.
Die Map ist insofern ständig sortiert und benötigt keine Sortierfunktionen.
Benötigt man ein Eintrag, sucht man ihn anhand des Keys. Dabei wird intern so schnell wie möglich
in der Map nach dem Eintrag gesucht (logarithmisch). Die Suchgeschwindigkeit ist höher als beim
linearen Durchsuchen einer Liste.
Gefundene Einträge lassen sich wieder löschen.
Maps kann man wie eine Liste durchlaufen (siehe NextMapElement()). Löscht man dabei einen Eintrag,
wird der vorherige Eintrag der aktuelle des Durchlaufs. Dadurch kommt man bei allen Einträgen vorbei,
auch wenn man zwischendurch Löscharbeiten durchführt.
Leider fehlt noch ein PrevMapElement(). Welches bei Rückwärtssuchen relevant wäre.
(Z.B.: die nächstvorigen Nachnamen vor "Sch".)
Dabei müsste beim Löschvorgang das nächste Element zum aktuellen Element werden.
Nicht als böse Kritik zu verstehen, aber vlt. läßt sich für unseren fleißigen Hilfeschreiber
mit der Kritik was anfangen (mein Geschmiere wieder in rot):
Maps (auch bekannt als Hashtable oder Dictionary; in Deutsch auch "Liste, Tabelle, Verzeichnis"
List, Array und Directory sind was anderes; korrekt wäre Karte, vlt. auch Wörterbuch genannt)
sind Strukturen für das Speichern von Daten, welche entsprechend Ihren Bedürfnissen dynamisch
zugewiesen werden Gelaber. Es handelt sich dabei um eine Sammlung von
Elementen (die Daten, die Sie speichern möchten) und jedes Element ist vollkommen unabhängig
von den anderen im Gegenteil es sollte im Sinne der Sortierung völlig abhängig sein (prev, next, parent, child).
Sie können soviele Elemente hinzufügen, wie Sie möchten (oder soviele, wie in den Speicher Ihres Computers passen)
das ist nix neues, und greifen mittels einem Key (Schüssel) wieder darauf zu. Diese Art der Datenspeicherung
ist sehr nützlich, wenn Sie schnellen Zugriff auf ein beliebiges Element benötigen Das ist der Kern der Map und darum wichtig!.
Die Einfüge-Reihenfolge der Elemente wird beim Verwenden einer Map nicht gespeichert
(anders als bei einer LinkedList) und daher kann sie auch nicht sortiert werden Die Formulierung
hört sich an, als wenn die Map eine schwerverwundete List ist, die nicht mal die Leistung einer List
erbringen kann und nun mit gebrochenem Bein und ohne Munition im Schützgraben hockt.

Allgemeiner Tip:
Je komplexer ein Vorgang ist, um so besser ist es ihn in seinem Ablauf zu erklären. Würde auch
dem Anspruch als Einsteiger-Programmiersprache entgegenkommen. Zudem gibt es auch immer
einen Grund warum etwas bestimmtes (wie in dem Fall eine Map) für einen ganz konkreten
Anwendungsfall benötigt wird. Wenn man den Anwendungsfall klarmacht, wird das zu
Erklärende oft sehr einfach.
Gebt mir aber in jedem Fall mal ein Feedback, ob in der Map eine normale Baumarchitektur sitzt,
die normal logaritmisch arbeitet. Dafür wäre ich dankbar.
