Zunächst einmal bin ich mir nicht sicher, warum sich die Leute hier so häufig um die Gültigkeit einer Frage kümmern. Es gibt zahlreiche Fälle, in denen Menschen eine ArrayList in einer sortierten Reihenfolge erhalten haben. Das Verwalten einer ArrayList in sortierter Reihenfolge ist für große Listen ineffizient.
Die Eingabeknoten der Standard-Java (Oracle) Quellenverteilung halten nicht die Größe ihrer Nachkommen Bäume. Aus diesem Grund ist es nicht möglich, ein Element innerhalb der Karte anhand des Index ohne ineffiziente sequenzielle Suche zu identifizieren.
Ich finde dieses Manko so stark, dass ich meine eigene AVL Karte geschrieben haben, die effizient Elemente von Index erhalten und berechnen indexOf (E). Dies zu ermöglichen ist so einfach wie die Größe der linken und rechten Zweige eines Eintrags beizubehalten. Es besteht die Möglichkeit, dass die Glazedlists-Bibliothek über einen durchsuchbaren Baum verfügt, in den sie eingebettet ist. Vielleicht möchten Sie das überprüfen.
Warum Sie das tun wollen? Indizes sind innerhalb der TreeMap-Implementierung intern. Du solltest sie nicht benutzen. Sie sollten sich immer nur auf die Methoden 'keys()', 'values ()' und 'get (key)' verlassen. –
Es ist ziemlich absichtlich, dass Sie das nicht tun können, außer indem Sie in linearer Zeit nur das "entrySet" durchlaufen. –
Ich entwickle eine Musik-Anwendung und muss Albuminame in Schlüssel und Albumid in Wert speichern. Die Situation ist so, dass ich sowohl Schlüssel als auch Wert habe. Ich kann meine Aufgabe mit einer zusätzlichen ArrayList erreichen, möchte sie aber einfach implementieren. –