Java记录 -81- EnumSet和EnumMap

来源:互联网 发布:最新office办公软件 编辑:程序博客网 时间:2024/06/08 09:32

EnumSet的名称说明了其作用,它是在J2SE5.0后加入的新类别,可以协助您建立枚举值的集合,它提供了一系列的静态方法,可以让您指定不同的集合建立方式。

EnumSet与枚举类型一起使用的专用 Set 实现。枚举 set 中所有键都必须来自单个枚举类型,该枚举类型在创建 set 时显式或隐式地指定。

EnumMap是个专为枚举类型设计的类别,方便您使用枚举类型及Map对象。

EnumMap与枚举类型键一起使用的专用 Map 实现。枚举映射中所有键都必须来自单个枚举类型,该枚举类型在创建映射时显式或隐式地指定。枚举映射在内部表示为数组。

enum FontConstant{    Plain, Bold, Italilc, Hello}public class EnumSetDemo {    public static  void showEnumSet(EnumSet<FontConstant> enumSet){        for(Iterator<FontConstant> iter = enumSet.iterator();iter.hasNext();){            System.out.println(iter.next());        }    }    public static void main(String[] args){        EnumSet<FontConstant> enumSet = EnumSet.of(FontConstant.Plain,FontConstant.Bold);        showEnumSet(enumSet); //Plain        Bold        System.out.println("---------------------");        showEnumSet(EnumSet.complementOf(enumSet)); //Italilc        Hello    }}
enum Action{    TURN_LEFT, TURN_RIGHT, SHOOT}public class EnumMapDemo {    public static void main(String[] args){        Map<Action, String> map = new EnumMap<Action, String>(Action.class);        map.put(Action.TURN_LEFT, "向右转");        map.put(Action.TURN_RIGHT, "向左转");        map.put(Action.SHOOT, "射击");        for(Action action : Action.values()){            System.out.println(map.get(action));        }    }}


原创粉丝点击