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=夏日炎炎}
    }
}