Maison  >  Article  >  Java  >  Comment utiliser la classe EnumMap en Java pour implémenter une collection de paires clé-valeur basées sur des énumérations

Comment utiliser la classe EnumMap en Java pour implémenter une collection de paires clé-valeur basées sur des énumérations

WBOY
WBOYoriginal
2023-07-24 21:37:101532parcourir

Comment Java utilise la classe EnumMap pour implémenter une collection de paires clé-valeur basée sur une énumération

Présentation :
EnumMap est une classe d'implémentation spéciale dans le cadre de collection Java, utilisée pour implémenter une collection de paires clé-valeur basée sur une énumération. Sa caractéristique est que les clés ne peuvent être que des types d'énumération et ses performances sont meilleures que celles de HashMap. Cet article explique comment utiliser la classe EnumMap et fournit des exemples de code.

  1. Introduction de base à la classe EnumMap
    EnumMap est une classe du framework de collection Java. Elle hérite de la classe AbstractMap et implémente l'interface NavigableMap. Le jeu de clés d'EnumMap ne peut être que de type énumération, et une classe d'énumération doit être transmise en tant que paramètre pour la construction. La classe EnumMap fournit diverses méthodes pour manipuler et parcourir une collection de paires clé-valeur d'un type énumération.
  2. Méthodes de construction d'EnumMap
    La classe EnumMap fournit plusieurs méthodes de construction, les plus couramment utilisées sont les suivantes :
  3. EnumMap(Class245c3adc26563b673f7297c0b3777639 enumType) : crée une instance EnumMap vide en utilisant le type d'énumération spécifié.
  4. EnumMap(EnumMap5e1bfb7e625d21104aaaad512121ee67 map) : initialise une nouvelle instance EnumMap à l'aide de l'instance EnumMap spécifiée.
  5. EnumMap(Map5e1bfb7e625d21104aaaad512121ee67 map) : initialise une nouvelle instance EnumMap à l'aide de l'instance Map spécifiée.
  6. Utilisation de base d'EnumMap
    Voyons ensuite comment utiliser la classe EnumMap pour implémenter une collection de paires clé-valeur basée sur l'énumération.

Exemple de code :

import java.util.EnumMap;

public class EnumMapExample {
    
    // 定义一个枚举类型
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }
    
    public static void main(String[] args) {
        
        // 创建一个EnumMap实例
        EnumMap<Day, String> enumMap = new EnumMap<>(Day.class);
        
        // 添加键值对
        enumMap.put(Day.MONDAY, "星期一");
        enumMap.put(Day.TUESDAY, "星期二");
        enumMap.put(Day.WEDNESDAY, "星期三");
        
        // 获取值
        System.out.println(enumMap.get(Day.MONDAY));
        
        // 遍历EnumMap
        for (Day day : enumMap.keySet()) {
            System.out.println(day + ":" + enumMap.get(day));
        }
        
        // 判断键是否存在
        System.out.println(enumMap.containsKey(Day.SUNDAY));
    }
}

Résultat de sortie :

星期一
MONDAY:星期一
TUESDAY:星期二
WEDNESDAY:星期三
false

Dans l'exemple de code ci-dessus, nous définissons d'abord une Day,包含七个枚举常量。然后我们创建了一个EnumMap实例,并添加了几个键值对。通过enumMap.get(key)方法可以获取指定键的值。我们还展示了如何遍历EnumMap,并使用containsKey(key)méthode de type énumération pour déterminer si une clé existe dans EnumMap.

  1. Avantages en termes de performances d'EnumMap
    EnumMap présente plusieurs avantages en termes de performances par rapport à HashMap :
  2. L'implémentation interne est basée sur des tableaux. Par rapport à la liste chaînée ou à l'arbre rouge-noir de HashMap, les opérations de requête et d'insertion d'EnumMap sont plus rapides.
  3. EnumMap prend moins d'espace de stockage car aucun espace de stockage supplémentaire n'est nécessaire pour enregistrer la valeur de hachage de la clé.

Résumé :
EnumMap est une classe d'implémentation spéciale dans le cadre de collection Java, utilisée pour implémenter des collections de paires clé-valeur basées sur l'énumération. A des performances efficaces et un faible encombrement en espace de stockage. Grâce à l'introduction de cet article, nous comprenons la méthode de construction et l'utilisation de base de la classe EnumMap, et fournissons des exemples de code correspondants. Dans le développement réel, lorsque nous devons implémenter une collection de paires clé-valeur basée sur une classe d'énumération, EnumMap est un très bon choix.

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!

Déclaration:
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