EnumSet和EnumMap的总结

 

//EnumSet和EnumMap的介绍

enum FontConstant

{

       Plain, Bold, Italilc, Hello

}

 

public class EnumSetDemo

{

       public static void main(String[] args)

       {

              EnumSet<FontConstant> enumSet = EnumSet.of(FontConstant.Plain);//创建一个包含plain的枚举集合

             

              showEnumSet(enumSet);//显示包含此对象

             

              System.out.println("-------");

             

              showEnumSet(EnumSet.complementOf(enumSet));//显示不包含此对象的其它所有对象

       }

      

      

       public static void showEnumSet(EnumSet<FontConstant> enumSet)

       {

              for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();)

              {

                     System.out.println(iter.next());

              }

       }

}

输出结果:Plain

     -----------------------------

      Bold

      Italilc

Hello

//创建一个空枚举,并且可以add添加方法,不是空枚举,不可以add添加方法

public static void main(String[] args)

       {EnumSet<FontConstant> enumSet = EnumSet.noneOf(FontConstant.class);

      

       enumSet.add(FontConstant.Bold);

       enumSet.add(FontConstant.Italilc);

      

       showEnumSet(enumSet);

    }

   

   

    public static void showEnumSet(EnumSet<FontConstant> enumSet)

    {

       for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();)

       {

           System.out.println(iter.next());

       }

       }

 

输出结果:Bold

Italilc

 

//enumset既可以复制集合也可以复制枚举集合

public static void main(String[] args)

    {

       List<FontConstant> list = new ArrayList<FontConstant>();

      

       list.add(FontConstant.Bold);

       list.add(FontConstant.Italilc);

       list.add(FontConstant.Plain);

      

       showEnumSet(EnumSet.copyOf(list));//emunset既可以复制集合,也可以枚举集合

    }

   

    public static void showEnumSet(EnumSet<FontConstant> enumSet)

    {

       for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();)

       {

           System.out.println(iter.next());

       }

    }

 

//EnumMap集合是按照enum来排序的

public class EnumMapTest{

 

 

    public static void main(String[] args)

    {

       Map<Action, String> map = new EnumMap<Action, String>(Action.class);

 

       map.put(Action.TURN_RIGHT, "向右转");

       map.put(Action.SHOOT, "射击");

       map.put(Action.TURN_LEFT, "向左转");

 

       for (Action action : Action.values())

       {

           System.out.println(map.get(action));

       }

    }

}

 

enum Action

{

    TURN_LEFT, TURN_RIGHT, SHOOT;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值