MAP est une interface de collection pour les paires de valeurs clés. Ses classes d'implémentation incluent principalement: HashMap, Treemap, HashTable et LinkedHashMap.
• Treemap: une implémentation NavigableMap basée sur l'arbre rouge-noir, qui est trié dans l'ordre naturel de ses clés ou dans le comparateur fourni lors de la création de la carte, selon le constructeur utilisé.
• Les valeurs de hashmap sont en ordre, elles sont implémentées en fonction du code hash de la clé. Comment implémenter le tri pour ce hashmap non ordonné? Reportez-vous à la valeur de Treemap.
Map.Entry renvoie la vue des collections.
Trier par clé
Treemap est dans l'ordre croissant par défaut. Si nous devons modifier la méthode de tri, nous devons utiliser un comparateur: Comparateur. Le comparateur peut trier l'interface du comparateur pour les objets de collecte ou les tableaux, et implémenter la méthode de comparaison publique (T o1, to2) de cette interface pour réaliser le tri.
Remarque: Tous les codes suivants ont été testés dans JDK1.6
Treemap est trié par ordre croissant par défaut
public static void keyupsort () {// Par défaut, Treemap est trié dans l'ordre croissant de KeyMap <String, Integer> map = new Treemap <String, Integer> (); map.put ("ACB1", 5); Map.put ("BAC1", 3); 80); map. 1); map.put ("ABC1", 10); map.put ("ABC2", 12); // par défaut, Treemap trie les clés dans l'ordre croissant System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Modifiez la méthode de tri de Treemap et Trier par la clé descendante
public static void keydownSort () {// Treemap, trié par ordre décroissant // trier dans le comparateur d'ordre descendant <string> keycomparator = new Comparator <string> () {@OverRidePublic int compare (String o1, string o2) {// too a auto-généré la méthode Studer> map = map = new; 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); Map.put ("ABC2", 12); System.out.println ("------------ Treemap 按 Key 降序排序 --------------------"); For (map.entry <String, Integer> Entry: Map.EntrySet ()) {System.out.println (Entry.getKey () + ":" + Entry.getValue ());}}Trier par valeur
Ce qui suit ne montre que le tri par Treemap par ordre croissant, et il en va de même pour Hashmap.
Modifiez la méthode de tri de Treemap et le trier dans l'ordre ascendant de la valeur
Remarque: Dans des circonstances normales, les cartes ne peuvent pas être triées à l'aide de la méthode Collection.Sort (), mais les cartes peuvent être converties en liste avant le tri.
public static void ValueUpsort () {// Par défaut, Treemap est trié dans l'ordre croissant par clé MAP <String, Integer> Map = new Treemap <String, Integer> (); Map.put ("ACB1", 5); Map.put ("BAC1", 3); 80); Map.Put. 1; Méthode générée automatiquement Stubreturn o1.getValue () - o2.GetValue ();}}; // Convertir MAP en liste pour le tri List <Map.Entry <String, Integer >> list = new ArrayList <Map.Entry <String, Integer >> (Map.EntrySet ()); // TriEPS. commande ascendante System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Résultats des tests
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ce qui précède est la méthode d'implémentation du tri de la carte Java en fonction de la valeur introduite par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!