Java enum的集合用法

来源:互联网 发布:linux crontab 权限 编辑:程序博客网 时间:2024/06/05 22:47
import java.util.EnumMap;import java.util.EnumSet;public class LightTest {// 1.定义枚举类型public enum Light {// 利用构造函数传参RED(1), GREEN(3), YELLOW(2);// 定义私有变量private int nCode;// 构造函数,枚举类型只能为私有private Light(int _nCode) {this.nCode = _nCode;}@Overridepublic String toString() {return String.valueOf(this.nCode);}}/** *  * @param args */public static void main(String[] args) {// 1.遍历枚举类型System.out.println("演示枚举类型的遍历 ......");testTraversalEnum();// 2.演示EnumMap对象的使用System.out.println("演示EnmuMap对象的使用和遍历.....");testEnumMap();// 3.演示EnmuSet的使用System.out.println("演示EnmuSet对象的使用和遍历.....");testEnumSet();}/** *  * 演示枚举类型的遍历 */private static void testTraversalEnum() {Light[] allLight = Light.values();for (Light aLight : allLight) {System.out.println("当前灯name:" + aLight.name());System.out.println("当前灯ordinal:" + aLight.ordinal());System.out.println("当前灯:" + aLight);}}/** *  * 演示EnumMap的使用,EnumMap跟HashMap的使用差不多,只不过key要是枚举类型 */private static void testEnumMap() {// 1.演示定义EnumMap对象,EnumMap对象的构造函数需要参数传入,默认是key的类的类型EnumMap<Light, String> currEnumMap = new EnumMap<Light, String>(Light.class);currEnumMap.put(Light.RED, "红灯");currEnumMap.put(Light.GREEN, "绿灯");currEnumMap.put(Light.YELLOW, "黄灯");// 2.遍历对象for (Light aLight : Light.values()) {System.out.println("[key=" + aLight.name() + ",value="+ currEnumMap.get(aLight) + "]");}}/** *  * 演示EnumSet如何使用,EnumSet是一个抽象类,获取一个类型的枚举类型内容<BR/> *  * 可以使用allOf方法 */private static void testEnumSet() {EnumSet<Light> currEnumSet = EnumSet.allOf(Light.class);for (Light aLightSetElement : currEnumSet) {System.out.println("当前EnumSet中数据为:" + aLightSetElement);}}}/* *  * 演示枚举类型的遍历 ......当前灯name:RED当前灯ordinal:0当前灯:1当前灯name:GREEN当前灯ordinal:1当前灯:3当前灯name:YELLOW当前灯ordinal:2当前灯:2演示EnmuMap对象的使用和遍历.....[key=RED,value=红灯][key=GREEN,value=绿灯][key=YELLOW,value=黄灯]演示EnmuSet对象的使用和遍历.....当前EnumSet中数据为:1当前EnumSet中数据为:3当前EnumSet中数据为:2 *  *  *  */

转载自 http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html


0 0
原创粉丝点击