光之使者 发表于 2022-9-3 17:44:57

Java EnumMap containsKey()方法具有什么功能呢?

转自:
http://www.java265.com/JavaCourse/202204/2765.html
EnumMap简介:
 
EnumMap是保存枚举类型的Map
 
map的key是枚举类型
 
这点在类定义的时候就已经声明好了EnumMap
 
如何不是枚举类型编译会出错。
 
例:定义了一个Enum类 JdbcType。
 
public enum JdbcType {
INT,NUMBER,VARCHAR,VARCHAR2,LONG,BLOB,CHAR;
}
 
EnumMap优点说明:
 
        1 相比HashMap,EnumMap的性能和速度要快的多
 
           EnumMap里面的数据结构是数组,获取的数据的时候特别快
 
              而且添加的数据的时候(一般用put(K,V)),这里面的并不像一般数组一样,当插入到中间的位置时候,要数组整体移动(一般实现依次向后移动)。EnumMap实现不需要,因为            数组在EnumMap实例化的时候就已经初始化好了,要做的就是对原来的oldValue进行覆盖,这样无论获取数据还是添加和删除数据都要快的多。这里特别提示一下,为什么                  EnumMap能够用数组这得益于EnumMap的key是枚举类型,枚举类类型中每一种类型,在声明的时候都有确定的位置,可以通过对应的位置确定的枚举类型。通过该方法获得位置key.ordinal();
 
         2.枚举类型的相应的类型更加明确
 
            key对应的范围更加明确
 
             如的key是string
 
           那么你的键范围无法确定。所以能够用EnumMap,尽量用EnumMap这也是一种代码优化方案’
 
EnumMap的大量用到各种框架中
 
   在Mabatis的TypeHandlerRegistry中就用到了EnumMap:
 
public final class TypeHandlerRegistry {
 
private final Map>(JdbcType.class); 
 
 
下文笔者讲述EnumMap实例中的containsKey()方法的功能简介说明,如下所示:
<strong>EnumMap类containsKey()方法的功能:
   检测一个EnumMap中是否包含指定键,
       当包含指定键时,则返回true,否则返回false

EnumMap实例containsKey()方法的语法:
      public boolean containsKey(Object val_ele);
参数说明:
      Object val_ele:待检测键
</strong>例:
package com.java265.other;
import java.util.EnumMap;
public class Test15 {
        /**
       * java265.com 示例 EnumSet containsKey方法示例分享
       */
        public enum Sex {
                MALE, FEMALE, THREE, FOUR
        };

        public static void main(String[] args) {
                EnumMap<Sex, String> em = new EnumMap<Sex, String>(Sex.class);
                em.put(Sex.MALE, "小明");
                em.put(Sex.FEMALE, "小敏");
                em.put(Sex.THREE, "第3个元素");
                em.put(Sex.FOUR, "第四个元素");

                System.out.println(em.containsKey(Sex.MALE));
        }
}
------运行以上代码,将输出以下信息-----
true
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java EnumMap containsKey()方法具有什么功能呢?