package javaStream;
import java.util.EnumMap;   //快捷导入Ctrl+Shift+O

/* EnumMap是一个与枚举类一起使用的Map实现类

  • EnumMap在内部以数组的形式保存,所以这种实现形式非常紧凑、高效
  • EnumMap不允许使用null作为key,但允许使用null作为value */

//定义枚举类 enum Season { SPRING,SUMMER,FALL,WINTER }

public class EnumMapTest {

@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
    // TODO Auto-generated method stub
    //在创建EnumMap时必须显示或隐式指定它对应的枚举类
    EnumMap enumMap = new EnumMap<>(Season.class);

    //所有的key都必须是单个枚举类的枚举值
    enumMap.put(Season.SUMMER, "夏日炎炎");
    enumMap.put(Season.SPRING, "穿暖花开");

    //EnumMap根据key的自然顺序(枚举值在枚举类的定义顺序)来维护key-value对的顺序
    System.out.println(enumMap);                //{SPRING=穿暖花开, SUMMER=夏日炎炎}
}

}