containsKey(Objectkey)方法的规范中写道:“当且仅当此映射包含针对满足(key==null?k==null:key.equals(k))的键k的映射关系时,返回true”。不应将此规范解释为:调用具有非空参数key的Map.containsKey将导致对任意的键k调用key.equals(k)。实现可随意进行优化,以避免调用equals。
containskey使用例子:
1.调用Map的get()方法获取数据;
2.如果返回不为null,直接返回该数据;
3.如果返回为null,则生成数据,或者从其他地方获取数据,然后存放入Map中,最后返回该数据.
这里,我们可以通过使用Map的containsKey()方法来检测数据(value)是否存在,如果key存在,则表明已经获取过一次数据,那么直接返回该key在Map中的值.不管是否为null都直接返回;如果key不存在,则去生成或者获取数据,并放入到Map中,并返回该数据.
这里使用containsKey()来检测可以应用于:1.从其他地方获取的数据可能为空,并且不会有变化;2.获取数据比较耗时.这个场景下,使用该方法可以大大降低消耗,特别是在同步情况下。
containskey代码
packagecom.okdi.controller;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest{
/**
*/
publicstaticvoidmain(String[]args){
Mapmap=newHashMap();
map.put("a","aaa");
System.out.println(map.containsKey("a"));//输出true如果这个map集合中有这个key就返回true
System.out.println(map.containsKey("b"));//输出false没有就返回false
}
}
总之,containskey给大家简单的介绍了一些,希望大家多看看。