1. Theoretische Vorbereitung
MAP ist eine Sammelschnittstelle für Schlüsselwertpaare. Zu den Implementierungsklassen gehören hauptsächlich: HashMap, Treemap, Hashtable und LinkedHasMap.
TREEMAP: Eine Navigablemap-Implementierung basierend auf rotem Schwarzbaum, der in der natürlichen Reihenfolge seiner Schlüssel sortiert ist oder auf dem beim Erstellen der Zuordnung erstellten Komparator basiert, abhängig vom verwendeten Konstruktor.
Die Werte von HashMap sind in Ordnung. Sie werden gemäß dem HashCode des Schlüssels implementiert. Wie implementieren wir Sortieren für diese ungeordnete HashMap? Beziehen Sie sich auf die Wertschöpfung.
Map.Entry gibt die Ansicht der Sammlungen zurück.
2. Schlüsselsortierung
Treemap befindet sich standardmäßig in aufsteigender Reihenfolge. Wenn wir die Sortiermethode ändern müssen, müssen wir einen Komparator verwenden: Vergleicher. Der Komparator kann Sammlungsobjekte oder Arrays sortieren und die Methode der öffentlichen Vergleiche (T O1, TO2) dieser Schnittstelle implementieren, um die Sortierung wie folgt zu realisieren:
import Java.util.comParator; import Java.util.iterator; import Java.util.map; Import Java.util.set; importieren Sie Java.util.Treemap; öffentliche Klasse TREEMaptest {public static void main (String [] Args) {map <Staken> map = string. obj2) {// in absteigender Reihenfolge zurücksenden obj2.comPareto (OBJ1); map.put ("B", "CCCCCC"); map.put ("d", "aaaaaa"); map.put ("C", "BBBBB"); map.put ("a", "ddddd"); Set <string> keyset = map.keyset (); Iterator <string> iter = keyset.iterator (); while (iter.hasnext ()) {String key = iter.next (); System.out.println (Schlüssel + ":" + map.get (Schlüssel)); }}}Die Betriebsergebnisse sind wie folgt:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
3. Wertsortierung
Das obige Beispiel besteht darin, nach dem Schlüsselwert von Treemap zu sortieren, aber manchmal müssen wir nach dem Wert von Treemap sortieren. Um den Wert zu sortieren, müssen wir die sortierende (Liste <T>, Vergleiche <? Super t> c) verwenden, die die angegebene Liste gemäß der vom angegebenen Komparator generierten Reihenfolge sortiert. Es gibt jedoch eine Voraussetzung, dh alle Elemente müssen in der Lage sein, auf der Grundlage des bereitgestellten Komparators zu vergleichen, wie folgt:
import Java.util.ArrayList; Import Java.util.Collections; import Java.util.comParator; import Java.util.List ;list import Java.util.map; Treemap <String, String> (); map.put ("a", "dddddd"); map.put ("c", "bbbbbb"); map.put ("d", "aaaaaa"); map.put ("B", "CCCCCC"); // hier konvertieren Sie map.EntrySet () in die Liste. // Dann einen Vergleiche zum Implementieren von Sorting collectionss.sort (Liste, neuer Vergleiche <map.Entry <String, String >> () {// sortieren public int compare (Eintrag <String, String> O1, Eintrag <String, String> o2) {return o1.getValue (). Vergleiche (O2.GetValue ();}}}}); für (map.entry <String, String> Mapping: List) {System.out.println (maping.getkey ()+":"+maping.getValue ()); }}}Die Betriebsergebnisse sind wie folgt:
D: AAAAAC: BBBBBB: CCCCCA: DDDDDD
Die obige Java -Kartensortierung nach Schlüssel- und Value -Implementierungsmethode ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.