zoukankan      html  css  js  c++  java
  • Java实现高效的枚举元素集合

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

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

    代码如下:

    Weeks.java:

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

    EnumSetTest.java:

    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);
        }
    }
    

      效果如图:

  • 相关阅读:
    logging模块
    解压序列
    python碎片
    python碎片化
    [转]pycharm快捷键
    ios开发之自定义textView
    iOS 开发之字典写入文件
    iOS 开发之内存泄漏问题
    自己写小测试 内容:添加,删除,修改,详情,导出,上传文件,easyui tree树
    使用 jxl 实现复杂的excel 表格导出 java代码
  • 原文地址:https://www.cnblogs.com/cysolo/p/3577570.html
Copyright © 2011-2022 走看看