Maison  >  Article  >  Java  >  Classe EnumMap en Java

Classe EnumMap en Java

WBOY
WBOYavant
2023-09-11 22:01:02938parcourir

Classe EnumMap en Java

La classe java.util.EnumMap est une implémentation Map spécifiquement utilisée pour énumérer les clés. Voici les points importants concernant EnumMap :

  • Toutes les clés d'une carte d'énumération doivent provenir d'un type d'énumération spécifié, explicitement ou implicitement lors de la création de la carte.

  • Les mappages d'énumération sont conservés dans l'ordre naturel des clés.

  • EnumMap n'est pas synchronisé. Si plusieurs threads accèdent simultanément à une carte d’énumération et qu’au moins un thread modifie la carte, la synchronisation doit être effectuée en externe.

Ce qui suit est le constructeur de la classe EnumMap :

table>

Exemple

Voyons un exemple -

Démo en direct

import java.util.EnumMap;
public class Demo {
   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };
   public static void main(String[] args) {
      EnumMap<Numbers, String> map1 = new EnumMap<Numbers, String>(Numbers.class);
      EnumMap<Numbers, String> map2 = new EnumMap<Numbers, String>(Numbers.class);
      // associate values in map1
      map1.put(Numbers.ONE, "1");
      map1.put(Numbers.TWO, "2");
      map1.put(Numbers.THREE, "3");
      map1.put(Numbers.FOUR, "4");
      // print the whole map
      System.out.println("map1:" + map1);
      // clone map1 to map2
      map2 = map1.clone();
      // print map2
      System.out.println("map2:" + map2);
   }
}

Sortie

map1:{ONE=1, TWO=2, THREE=3, FOUR=4}
map2:{ONE=1, TWO=2, THREE=3, FOUR=4}

Exemple

Voyons un autre exemple où nous montrons le nombre de mappages clé-valeur dans une carte :

Réel -démonstration temporelle

import java.util.*;
public class EnumMapDemo {
   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };
   public static void main(String[] args) {
      EnumMap<Numbers, String> map = new EnumMap<Numbers, String>(Numbers.class);
      // assosiate values in map
      map.put(Numbers.ONE, "1");
      map.put(Numbers.TWO, "2");
      map.put(Numbers.THREE, "3");
      map.put(Numbers.FOUR, "4");
      // print the map
      System.out.println("Map: " + map);
      // print the number of mappings of this map
      System.out.println("Number of mappings:" + map.size());
      // remove value from Numbers.THREE
      map.put(Numbers.FIVE, "5");
      // print the new number of mappings of this map
      System.out.println("Number of mappings:" + map.size());
   }
}

Sortie

Map: {ONE=1, TWO=2, THREE=3, FOUR=4}
Number of mappings:4
Number of mappings:5
Numéro de série Constructeur et description
1 EnumMap(Class keyType)

Le constructeur utilise le spécifié Crée une carte d'énumération vide du type de clé.

2 EnumMap(EnumMap m)

Ce constructeur crée une carte d'énumération en utilisant le même type de clé que la carte d'énumération spécifiée, Contient initialement le même mappage s’il est disponible.

3 EnumMap(Map m)

Ce constructeur crée une carte d'énumération initialisée à partir de la carte spécifiée.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer