Java EnumMap

1 什么是Java EnumMap

Java EnumMap类是用于枚举类型键的专用Map实现。它继承了Enum和AbstractMap类。

2 Java EnumMap的层次结构

下图是EnumMap的层次结构。

3 Java EnumMap的语法

public class EnumMap<K extends Enum<K>,V> extends AbstractMap<K,V> implements Serializable, Cloneable  

4 Java EnumMap的构造方法

构造方法 描述
EnumMap(Class<K> keyType) 用于创建具有指定键类型的空EnumMap。
EnumMap(EnumMap<K,? extends V> m) 用于创建具有与指定枚举图相同的键类型的EnumMap。
EnumMap(Map<K,? extends V> m) 用于创建从指定映射表初始化的EnumMap。

5 Java EnumMap的方法

方法 描述
clear() 用于清空EnumMap的所有数据。
clone() 用于将一个EnumMap的数据复制到另一个EnumMap。
containsKey() 用于检查EnumMap中是否存在指定的key。
containsValue() 用于检查EnumMap中是否存在指定的value。
entrySet() 用于返回EnumMap的Entry的Set集合。
equals() 用于比较两个EnumMap是否相等。
get() 用于获取指定key的value值。
hashCode() 用于获取EnumMap的哈希码值。
keySet() 用于获取EnumMap的所有key的Set集合。
size() 用于获取EnumMap的大小。
values() 用于获取EnumMap的所有value的Set集合。
put() 用于往EnumMap中存入key和value。
putAll() 用于将一个EnumMap的所有数据复制到新的EnumMap中。
remove() 如果存在指定key,则用于从EnumMap中删除这个key的数据。

6 Java EnumMap的例子

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java EnumMap的例子
 */
import java.util.*;

public class Demo {

    // 创建枚举
    public enum Days {
        Monday, Tuesday, Wednesday, Thursday
    };
    public static void main(String[] args) {
        //创建EnumMap
        EnumMap<Days, String> map = new EnumMap<Days, String>(Days.class);
        map.put(Days.Monday, "1");
        map.put(Days.Tuesday, "2");
        map.put(Days.Wednesday, "3");
        map.put(Days.Thursday, "4");
        //打印EnumMap
        for(Map.Entry m:map.entrySet()){
            System.out.println(m.getKey()+" "+m.getValue());
        }
    }
}

输出结果为:

Monday 1
Tuesday 2
Wednesday 3
Thursday 4

 

推荐好课