Maison > Java > Javacommencer > Java peut-il trier les clés d'une carte ?

Java peut-il trier les clés d'une carte ?

(*-*)浩
Libérer: 2019-11-19 11:52:55
original
2154 Les gens l'ont consulté

Java peut-il trier les clés d'une carte ?

Map est une interface de collection de paires clé-valeur. Ses classes d'implémentation incluent principalement : HashMap, TreeMap, Hashtable et LinkedHashMap, etc. (Apprentissage recommandé : cours java)

TreeMap : Implémentation de NavigableMap basée sur l'arbre rouge-noir (Red-Black tree), la carte est triée selon l'ordre naturel de ses clés, ou basé sur la création d'une map Le Comparator fourni est trié en fonction du constructeur utilisé.

Map.Entry renvoie la vue Collections.

tri par clé

TreeMap est par ordre croissant par défaut. Si nous devons changer la méthode de tri, nous devons utiliser un comparateur : Comparator. Comparator est une interface de comparaison qui peut trier des objets de collection ou des tableaux. L'implémentation de la méthode publique compare(T o1, To2) de cette interface peut réaliser le tri, comme suit :

import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapTest {
    public static void main(String[] args) {
        Map<String, String> map = new TreeMap<String, String>(
                new Comparator<String>() {
                    public int compare(String obj1, String obj2) {
                        // 降序排序
                        return obj2.compareTo(obj1);
                    }
                });
        map.put("b", "ccccc");
        map.put("d", "aaaaa");
        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(key + ":" + map.get(key));
        }
    }
}
Copier après la connexion

Les résultats en cours d'exécution sont les suivants : :

d:aaaaa
c:bbbbb
b:ccccc
a:ddddd
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal