 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
EnumMap class in Java
The java.util.EnumMap class is a specialized Map implementation for use with enum keys. Following are the important points about EnumMap −
- All of the keys in an enum map must come from a single enum type that is specified, explicitly or implicitly, when the map is created. 
- Enum maps are maintained in the natural order of their keys. 
- EnumMap is not synchronized. If multiple threads access an enum map concurrently, and at least one of the threads modifies the map, it should be synchronized externally. 
Following are the constructors of the EnumMap class −
| Sr.No | Constructor & Description | 
|---|---|
| 1 | EnumMap(Class<K> keyType) This constructor creates an empty enum map with the specified key type. | 
| 2 | EnumMap(EnumMap<K,? extends V> m) This constructor creates an enum map with the same key type as the specified enum map, initially containing the same mappings (if any). | 
| 3 | EnumMap(Map<K,? extends V> m) This constructor creates an enum map initialized from the specified map. | 
Example
Let us see an example −
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);    } }  Output
map1:{ONE=1, TWO=2, THREE=3, FOUR=4} map2:{ONE=1, TWO=2, THREE=3, FOUR=4} Example
Let us see another example wherein we are displaying the count of key-value mappings in the Map −
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());    } }  Output
Map: {ONE=1, TWO=2, THREE=3, FOUR=4} Number of mappings:4 Number of mappings:5Advertisements
 