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 dem rot-schwarzen Baum, der in der natürlichen Reihenfolge seiner Schlüssel sortiert ist, oder in dem beim Erstellen der Karte bereitgestellten Komparator, abhängig vom verwendeten Konstruktor.
• Die HashMap -Werte 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.
Sortieren nach Schlüssel
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 die Komparatorschnittstelle für Sammlungsobjekte oder -Arrays sortieren und die Methode für öffentliche Vergleiche (T O1, TO2) dieser Schnittstelle zur Realisierung der Sortierung implementieren.
Hinweis: Alle folgenden Codes wurden in JDK1.6 getestet
Treemap ist standardmäßig in aufsteigender Reihenfolge sortiert
public static void keyUpSort () {// standardmäßig ist Treemap in aufsteigender Reihenfolge von Keymap <String, Integer> map = New Treemap <String, Integer> (); map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("map.put (", 20); 1); map.put ("abc1", 10); map.put ("ABC2", 12); // Standardmäßig sortiert Treemap die Schlüssel in aufsteigender Reihenfolge System.out.println("----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Ändern Sie die Sortiermethode von Treemap und sortieren Sie durch absteigende Schlüssel
public static void keydownsort () {// Treemap, sortiert durch absteigende Reihenfolge // Sortieren Sie in absteigender Reihenfolge Vergleich <string> keyComparator = neuer Vergleiche <string> {@Overridepublic intcompare (String O1, String O2) {// todo automatisch generierte Methode Stubreturn O2.comPareto (O1); Treemap <String, Integer> (KeyComparator); map.put ("acb1", 5); map.put ("bac1", 3); map.put ("bca1", 20); map.put ("cab1", 80); map.put ("cba1", 1); map.put ("abc1", 10); 12); System.out.println ("------------ TREEMAP 按 Schlüssel 降序排序 --------------------"); for (map.Entry <String <String, Integer> Eintrag: MAP.EntrySet ()) {System.out.println (Eintrag).Nach Wert sortieren
Das Folgende zeigt nur die Sortierung nach Treemap durch aufsteigende Reihenfolge, und dies gilt für HashMap.
Ändern Sie die Sortiermethode von Treemap und sortieren Sie sie in aufsteigender Reihenfolge des Wertes
HINWEIS: Unter normalen Umständen können Karten nicht mit der Methode sorts.sort () sortiert werden, Karten können jedoch vor der Sortierung in eine Liste umgewandelt werden.
public static void valueUpSort () {// standardmäßig wird Treemap in aufsteigender Reihenfolge nach Schlüsselkarte <String, Integer> map = New Treemap <String, Integer> (); map.put ("acb1", 5); map.put ("Bac1", 3); map.put ("bca1", 20); 1); map.put ("abc1", 10); map.put ("abc2", 12); // Ascending Complexator <map.Entry <String, Integer >> ValuEComparator = neuer Vergleicher <map.Entry <String, Integer >> () {@overridepublic int Compuse (Eintrieb <string, intiere, intiere> o1, intiere> O1, IntEger> O1, IntEger> O1, IntEger> O1, IntEger> O1, IntEger> O1, IntEger> O1, IntEger> O1, IntEger> O1. Automatische generierte Methode StubReturn o1.getValue ()-o2.getValue ();}}; // MAP in List für die Sortierliste <map.Entry <String, Integer >> list = new ArrayList <map.Entry <String, Integer >> (MAP.EntrySet (); // sortSorts-sorts.-sorts-sorts.-sorts.Sorts.-sorts.Sorts.-sorts.sorts-sorts.sorts-sorts.sorts-sorts.sorts-sorts.sorts-sorts.sorts-sorts.sorts-sorts.sorts. Aufsteigende Ordnung System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Testergebnisse
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Das obige ist die Implementierungsmethode der Java -Kartensortierung gemäß dem vom Editor eingeführten Wert. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!