containsKey() 方法检查 hashMap 中是否存在指定的 key 对应的映射关系。
containsKey() 方法的语法为:
hashmap.containsKey(Object key)注:hashmap 是 HashMap 类的一个对象。
参数说明:
key - 键返回值如果 hashMap 中存在指定的 key 对应的映射关系返回 true,否则返回 false。
实例以下实例演示了 containsKey() 方法的使用:
public static void main(String[] args) { // 创建一个 HashMap HashMap<Integer, String> sites = new HashMap<>(); // 往 HashMap 添加一些元素 sites.put(1, "A"); sites.put(2, "B"); sites.put(3, "C"); System.out.println("sites HashMap: " + sites); //检查 key 为 1 是否存在 if(sites.containsKey(1)) { System.out.println("key 为 1 存在于 sites 中"); } if(sites.containsKey(1L)) { System.out.println("key 为 1L 存在于 sites 中"); } }打印结果为:
可见类型不一样时导致对比失败。追踪源码如下:
再打印一下1L与1的equals对比结果:
public static void main(String[] args) { // 创建一个 HashMap HashMap<Integer, String> sites = new HashMap<>(); // 往 HashMap 添加一些元素 sites.put(1, "Google"); sites.put(2, "Runoob"); sites.put(3, "Taobao"); System.out.println("sites HashMap: " + sites); //检查 key 为 1 是否存在 if(sites.containsKey(1)) { System.out.println("key 为 1 存在于 sites 中"); } //检查 key 为 1 是否存在 if(sites.containsKey(1L)) { System.out.println("key 为 1L 存在于 sites 中"); } Long a = 1L; System.out.println(a.equals(1)); }总结:使用map的containsKey方法的时候,要注意类型问题。不然会有点坑
如果对您有帮助点个赞哦。