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

来源:互联网 发布:测试五官的软件 编辑:程序博客网 时间:2024/06/07 03:45
EnumSet是专门为枚举类型设计的集合类。
Enum是什么,参考我的另外一篇博客:http://blog.csdn.net/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);    }}


0 0
原创粉丝点击