zoukankan      html  css  js  c++  java
  • 类集对枚举的支持

    类集对枚举的支持

    一、         EnumSet

    1、              创建一个指定类型的空集合:

    枚举Color如下所示:

    public enum Color {

       RED,GREEN,BLUE;

    }

    示例代码如下:

    import java.util.EnumSet;

    import java.util.Iterator;

    public class EnumDemo2 {

       /**

        * @param args

        */

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         EnumSet<Color> es=EnumSet.noneOf(Color.class);

         es.add(Color.RED);

         es.add(Color.GREEN);

         es.add(Color.BLUE);

         Iterator<Color> iter=es.iterator();

         while(iter.hasNext()){

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

         }

       }

    }

    2、              根据指定类型所有数据创建集合:

    import java.util.EnumSet;

    import java.util.Iterator;

    public class EnumDemo {

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         EnumSet<Color> enumdemo=EnumSet.allOf(Color.class);

         Iterator<Color> iter=enumdemo.iterator();

         while(iter.hasNext()){

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

         }

       }

    }

    3、              创建指定类型指定初始数据的集合

    import java.util.EnumSet;

    import java.util.Iterator;

    public class EnumDemo {

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         EnumSet<Color> enumdemo=EnumSet.of(Color.RED,Color.GREEN,Color.BLUE);

         Iterator<Color> iter=enumdemo.iterator();

         while(iter.hasNext()){

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

         }

       }

    }

    4、              创建指定范围的集合,包含边界数据:

    import java.util.EnumSet;

    import java.util.Iterator;

    public class EnumDemo {

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         EnumSet<Color> enumdemo=EnumSet.range(Color.RED,Color.BLUE);

         Iterator<Color> iter=enumdemo.iterator();

         while(iter.hasNext()){

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

         }

       }

    }

    二、         EnumMap

    示例代码如下:

    import java.util.EnumMap;

    import java.util.Iterator;

    import java.util.Set;

    public class EnumMapDemo {

       public static void main(String[] args) {

         // TODO Auto-generated method stub

         EnumMap<DataBase,String> em=new EnumMap<DataBase,String>(DataBase.class);

         em.put(DataBase.DB2, "this is from IBM");

         em.put(DataBase.MSSQL, "this is from Microsoft");

         Set<DataBase> iter=em.keySet();

         Iterator<DataBase> it=iter.iterator();

         while(it.hasNext()){

            System.out.println(em.get(it.next()));

         }

       }

    }

  • 相关阅读:
    VC++文件操作之最全篇
    MFC六大核心机制之五、六:消息映射和命令传递
    MFC六大核心机制之四:永久保存(串行化)
    MFC六大核心机制之三:动态创建
    MFC六大核心机制之二:运行时类型识别(RTTI)
    MFC六大核心机制之一:MFC程序的初始化
    VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)
    VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)
    java并发系列(四)-----源码角度彻底理解ReentrantLock(重入锁)、AQS
    java并发系列(三)-----ReentrantLock(重入锁)功能详解和应用演示
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429549.html
Copyright © 2011-2022 走看看