Maison  >  Article  >  Java  >  Java EnumMap

Java EnumMap

王林
王林original
2024-08-30 15:47:49710parcourir

Un membre de Java Collection Framework connu sous le nom d'EnumMap, qui étend AbstractMap, est une implémentation spécifique pour la carte d'interface, principalement pour les types d'énumération. En plus de cela, plusieurs autres fonctionnalités sont également présentes pour EnumMap.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Il comprend :

  • Il n'est pas synchronisé.
  • Plus vite ; Comparé à cela, HashMap est plus lent.
  • Elle est conservée dans l’ordre naturel de la clé.
  • Haute performance.
  • Les clés nulles ne sont pas autorisées. Autrement dit, une NullPointerException sera levée lorsque des clés nulles sont présentes.
  • Des valeurs nulles peuvent être présentes.
  • Comme clés, des éléments enum seront utilisés.

Plus de détails sur Java EnumMap seront abordés dans les sections suivantes.

Syntaxe

Java EnumMap peut être déclaré en utilisant la syntaxe ci-dessous.

public class EnumMap<Key extends Enum<Key>,Value> extends AbstractMap<Key,Value> implements Serializable, Cloneable

Constructeurs en Java EnumMap

Voici les constructeurs couramment utilisés dans Java EnumMap :

  • EnumMap(Class<K> keyType) :  Une carte d'énumération vide sera créée avec le keyType mentionné.
  • EnumMap(EnumMap<K,? extends V> m) : Une carte d'énumération sera créée avec le keyType identique à celui de la carte d'énumération mentionnée si des mappages initiaux sont présents.
  • EnumMap(Carte<K,? étend V> m): Une carte d'énumération sera créée à partir de la carte mentionnée.

Méthodes en Java EnumMap

Voyons maintenant quelques-unes des méthodes couramment utilisées de Java EnumMap.

  • clear() : Chaque mappage disponible dans la carte sera supprimé lors de l'appel de cette méthode.
  • clone() : Une copie superficielle sera renvoyée pour la carte d'énumération mentionnée.
  • containsKey(Objectk): True sera renvoyé si la carte a un mappage pour la clé k mentionnée.
  • containsValue(Objectv) : True sera renvoyé si la carte mappe 1 ou plusieurs clés à la valeur mentionnée v.
  • entrySet() : Une vue définie sera renvoyée pour les mappages disponibles sur la carte.
  • equals(Objectob) : La carte et l'objet ob mentionné seront comparés pour vérifier leur égalité.
  • get(Objectk): La valeur sera renvoyée si la carte a un mappage pour la clé k mentionnée. S'il n'y a aucune valeur pour la clé, null sera renvoyé.
  • hashCode() : Le code de hachage sera renvoyé pour la carte.
  • keySet() : Une vue définie sera renvoyée pour les clés présentes sur la carte.
  • put(Kkey, V value) : La valeur v sera associée au clé K sur la carte.
  • putAll(MapK,? étend V> m) : Chaque cartographie de la carte donnée sera copiée sur cette carte.
  • remove(Objectk): Le mappage sera supprimé pour la clé k mentionnée.
  • size() : Le nombre de mappages clé-valeur disponibles dans la carte sera renvoyé.
  • values() : Une vue de collection sera renvoyée pour les valeurs disponibles sur la carte.

Exemples d'implémentation de Java EnumMap

Afin de mieux comprendre la Java Enum Map, implémentons les méthodes mentionnées ci-dessus dans certains programmes.

Exemple n°1

Exemple de programme pour créer une carte d'énumération et copier les éléments dans une autre carte d'énumération.

Code :

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
}
}

Sortie :

Java EnumMap

Explication du programme ci-dessus : Dans le programme ci-dessus, deux cartes d'énumération sont créées. La première carte est créée avec 2 éléments, et la deuxième carte est créée en copiant les éléments de la première carte. En plus de cela, un élément supplémentaire est également ajouté à la deuxième carte. Celles-ci se font à l'aide des méthodes put() et putAll().

Exemple n°2

Exemple de programme pour créer une carte d'énumération et obtenir les clés et les valeurs séparément.

Code :

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 1 are : " + fr.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 1 are : " + fr.values());
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 2 are : " + fru.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 2 are : " + fru.values());
}
}

Sortie :

Java EnumMap

Explanation to the above program: Similar to the first program, two enum maps are available here. This program displays the maps’ keys and values independently using the methods keyset() and values(), respectively.

Example #3

Sample program to remove an element from the enum map

Code:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap :  " + fr);
// remove an element using the method remove()
int val = fr.remove(fruits.APPLE);
System.out.println("Removed Value: " + val);
System.out.println("The key-value pairs in EnumMap after removing apple :  " + fr);
}
}

Output:

Java EnumMap

Explanation to the above program: In this program, an element is removed from the map using the remove() method and the resultant enum map is printed in the next step.

Conclusion

A detailed explanation of all the aspects such as declaration, methods, constructors of Java EnumMap is discussed in this document in detail.

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
Article précédent:Table de hachage en JavaArticle suivant:Table de hachage en Java