java集合框架之Set------02_02 EnumSet

EnumSet是专门为枚举类型设计的集合类。
Enum是什么,参考我的另外一篇博客: http://blog.youkuaiyun.com/genius_zz/article/details/52671061

EnumSet中不允许加入null元素。否则会抛出异常。通过一个示例来演示EnumSet的使用。

enum SeasonEnum {
    SPRING,SUMMER,FALL,WINTER;
} 
public class EnumSetDemo_01 {
    public static void main(String[] args){
        //创建一个包含所有SeasonEnum枚举的EnumSet
        EnumSet es1 = EnumSet.allOf(SeasonEnum.class);
        System.out.println(es1);
        //创建一个空的EnumSet
        EnumSet es2 = EnumSet.noneOf(SeasonEnum.class);
        System.out.println(es2);
        es2.add(SeasonEnum.WINTER);
        es2.add(SeasonEnum.SPRING);
        System.out.println(es2);
        //创建一个由指定的枚举类的其中的几个元素组成的EnumSet
        EnumSet es3 = EnumSet.of(SeasonEnum.SUMMER,SeasonEnum.WINTER);
        System.out.println(es3);
        //EnumSet中包含了从SUMMER到WINTER的所有元素
        EnumSet es4 = EnumSet.range(SeasonEnum.SUMMER, SeasonEnum.WINTER);
        System.out.println(es4);
        //创建一个es4一样的EnumSet
        EnumSet es5 = EnumSet.complementOf(es4);
    }
} 
也可以复制一刻Collection集合中的元素到新创建的EnumSet中,但是这个Collection中的元素,要求是属于同一个枚举类的枚举值。否则会发生异常。
public class EnumSetDemo_02 {
    public static void main(String[] args){
        Collection c = new HashSet();
        c.clear();
        c.add(SeasonEnum.FALL);
        c.add(SeasonEnum.WINTER);
        
        EnumSet enumset = EnumSet.copyOf(c);
        System.out.println(enumset);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值