Die Karte Leistung ist nicht kostenlos, die Kosten sind Speicher und Komplexität.
Andere Datenstrukturen gibt es für alle Fälle, in denen Sie sich nicht um Performances kümmern und wenn Sie nicht nur auf ein Element der Sammlung zugreifen müssen.
Zum Beispiel, wenn Sie eine gegebene Liste von Elementen haben, und die einzige Verwendung in Ihrem Code ist, genau diese Liste von Elementen auszudrucken, ist die beste Wahl, ein Array von Strings zu verwenden.
Ein anderes Beispiel könnte die Reihenfolge der Elemente sein. Wenn Ihnen die Reihenfolge Ihrer Elemente wichtig ist, dann ist eine Karte nicht die Datenstruktur, die Sie verwenden sollten, da die Bestellung nicht garantiert ist. Sie müssen also jedes Mal sortieren, wenn Sie möchten.
Das sind nur zwei Beispiele, es gibt viele andere für jede vorhandene Datenstruktur.
'Ist das nicht HashMap ist universelle Datenstruktur
Versuchen Sie Go lernen, wo Karten sind im Grunde die einzige integrierte Datenstruktur (abgesehen von Arrays). Sie * können * einfach Karten für Dinge verwenden; aber die Neuigkeit, ein Set mit einer Map * noch einmal zu implementieren *, läuft ziemlich schnell ab. –
Wo haben Sie gelernt, dass Insert, Remove und Retrieve dauernd dauern? [Diese Implementierung bietet eine konstante Leistung für die grundlegenden Operationen (get und put), vorausgesetzt, die Hash-Funktion verteilt die Elemente korrekt zwischen den Buckets.] (Https://docs.oracle.com/javase/8/docs/ api/java/util/HashMap.html) und Sie können keine Hash-Funktion angeben, aber der eingebaute Typ des Typs wird verwendet ... – TheConstructor