类集对枚举的支持
一、 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()));
}
}
}