首页 > 其他 > 详细

Java实现高效的枚举元素集合

时间:2014-03-03 17:43:51      阅读:435      评论:0      收藏:0      [点我收藏+]

SetJava集合类的重要组成部分,它用来存储不能重复的对象。枚举类型也要求其枚举元素各不相同。看起来枚举类型和集合是很相似的。然而枚举类型中的元素不能随意的增加、删除,作为集合而言,枚举类型非常不实用。EnumSet是专门为enum实现的集合类,本实例将演示其用法。

思路分析:可以通过为EnumSet指定类型,该类型即为在同一包中定义的枚举类。使用EnumSet类的add()方法添加元素,使用EnumSet类的remove()方法删除元素,使用EnumSet类的complementOf()方法获取对象的全部,使用EnumSet类的range()方法获取指定范围的元素。

代码如下:

Weeks.java:

1
2
3
4
5
package cn.edu.xidian.crytoll;
 
public enum Weeks {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURADAY, SUNDAY
}

EnumSetTest.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package cn.edu.xidian.crytoll;
import static cn.edu.xidian.crytoll.Weeks.MONDAY;
import static cn.edu.xidian.crytoll.Weeks.THURSDAY;
 
import java.util.EnumSet;
 
public class EnumSetTest {
    public static void main(String[] args) {
        EnumSet<Weeks> week = EnumSet.noneOf(Weeks.class);
        week.add(MONDAY);
        System.out.println("EnumSet中的元素:" + week);
        week.remove(MONDAY);
        System.out.println("EnumSet中的元素:" + week);
        week.addAll(EnumSet.complementOf(week));
        System.out.println("EnumSet中的元素:" + week);
        week.removeAll(EnumSet.range(MONDAY, THURSDAY));
        System.out.println("EnumSet中的元素:" + week);
    }
}

  效果如图:

bubuko.com,布布扣

Java实现高效的枚举元素集合,布布扣,bubuko.com

Java实现高效的枚举元素集合

原文:http://www.cnblogs.com/cysolo/p/3577570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!