类集对枚举的支持

类集对枚举的支持

一、         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()));

     }

   }

}

原文地址:https://www.cnblogs.com/itfenqing/p/4429549.html