• 枚举(二)类集对于枚举的支持


    Java.util中添加了两个新类,EnumMapEnumSet来支持枚举类型。

    5.EnumMap:枚举类型实例到值的映射

    MapJava中的一个类,EnumMapMap的子类。Map(映射)是一个二元组的集合,它中的每个元素都是由<Key,value>两个属性组成,通过Key很容易找到对应的value

     1 import java.util.EnumMap;
     2 import java.util.Map;
     3 
     4 enum Color{红色,绿色,蓝色};
     5 public class EnumMapDemo
     6 {
     7     public static void main(String[] args)
     8     {
     9         EnumMap<Color,String> ep = new EnumMap<Color,String>(Color.class);//实例化对象,构造参数不能为空
    10         ep.put(Color.红色, "RED");//一对<Key,value>映射
    11         ep.put(Color.绿色, "GREEN");
    12         ep.put(Color.蓝色,"BLUE");
    13         for(Map.Entry<Color, String>me:ep.entrySet())
    14         {
    15             System.out.println(me.getKey()+"-->"+me.getValue());
    16         }
    17     }
    18 }

    其中,EntrySet()是定义在Map类中的一个方法,其作用是返回整个映射实例的集合。EntrySet()方法中的Set表示的含义是“集合”。

    6.EnumSet:枚举类型集合操作(如交、并、补等)

    Set是一个一元组集合,其包含一系列不可重复的数据。EnumSetSet的子类。Set可以理解为,只包含元素Key的集合。

     1 import java.util.EnumSet;
     2 import java.util.Iterator;
     3 
     4 enum Color{红色,绿色,蓝色};
     5 public class EnumSetDemo
     6 {
     7     public static void main(String[] args)
     8     {
     9         EnumSet<Color> es = EnumSet.allOf(Color.class);//将枚举全部内容设置到集合
    10         Iterator<Color> iter = es.iterator();//指向枚举类型Color的迭代器
    11         while(iter.hasNext())//判断集合中是否还有元素
    12         {
    13             System.out.println(iter.next());//遍历集合类的元素并输出
    14         }
    15     }
    16 }

    上述例子测试了EnumSet类的静态方法allOf()。

     1 import java.util.EnumSet;
     2 import java.util.Iterator;
     3 
     4 enum Color{红色,绿色,蓝色};
     5 public class EnumSetDemo
     6 {
     7     public static void main(String[] args)
     8     {
     9         EnumSet<Color> es = EnumSet.noneOf(Color.class);//枚举类型的空集合
    10         Iterator<Color> iter = es.iterator();//指向枚举类型Color的迭代器
    11         while(iter.hasNext())
    12         {
    13             System.out.println(iter.next());//null,无输出
    14         }
    15     }
    16 }

    上述例子测试了EnumSet类的静态方法noneOf()

  • 相关阅读:
    MapReduce的工作机制
    1023. Have Fun with Numbers (20)
    Javascript MVC 学习笔记(二) 控制器和状态
    Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
    《MySQL必知必会学习笔记》:子查询
    C# 打开指定的目录 记住路径中 / 与 的使用方法
    JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照
    应届生面试准备之道
    一致性hash
    android 关于listview scrollview 底部 控件无法显示的两个解决方案
  • 原文地址:https://www.cnblogs.com/wxywxy/p/6773609.html
Copyright © 2020-2023  润新知