Map.get(key)和containsKey(

来源:互联网 发布:cms系统排行榜 编辑:程序博客网 时间:2024/05/18 03:21

     

        containsKey(key)方法是判断pair里面有没有该键对象,有就返回true,没有就返回false。而get(key)是返回键key所对应的value值。

    Map集合允许值对象为null,并且没有个数限制,所以当get()方法的返回值为null时,可能有两种情况,一种是在集合中没有该键对象,另一种是该键对象没有映射任何值对象,即值对象为null。因此,在Map集合中不应该利用get()方法来判断是否存在某个键,而应该利用containsKey()方法来判断,例如下面的例子
  
       Map<Integer, String> map = new HashMap<Integer, String>();

map.put(1, null);
    map.put(2, "哈哈");
    System.out.println("get()方法的返回结果:");
    System.out.print("------ " + map.get(1));
    System.out.print("    " + map.get(2));
    System.out.println("    " + map.get(3));
    System.out.println("containsKey()方法的返回结果:");
    System.out.print("------ " + map.containsKey(1));
    System.out.print("    " + map.containsKey(2));
    System.out.println("    " + map.containsKey(3));
  在控制台将输出如下信息:

get()方法的返回结果:
    ------ null    哈哈    null
    containsKey()方法的返回结果:
    ------ true    true      false

0 0
原创粉丝点击