Map的键可以是null不?

解决方案 »

  1.   

    Map<String,String> map = new HashMap<String, String>();
    map.put(null,"123");
    System.out.println(map.get(null));
    可以
      

  2.   


    Map m = new Hashtable();
    m.put(null, "a");
    System.out.println(m.get(null));有的能。有的不能
      

  3.   

    这部就是HashMap和HashTable的一个区别么?
      

  4.   

    HashMap-可以存储null的键和值;线程不同步
    HashTable-不可以存储null的键和值;线程同步
    [个人意见,呵呵]
      

  5.   

    HashMap只能存一个null的key,因为Set内的值不能重复
      

  6.   

    /*
     * Map集合:该集合存储键值对,是一对一对往里存,而且要保证键的唯一性
     * 
     * Map
     *  |--Hashtable:底层是哈希表数据结构,不可以存入null键null值,是线程同步的,效率低。JDK1.0
     *  |--HashMap:底层是哈希表数据结构,可以存入null键null值,线程不同步,效率高。JDK1.2
     *  |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于对Map集合中的键进行排序
     * 注:Set集合底层使用的就是Map集合
     */
      

  7.   

    可以存空值,但是我试过再put一个null键值,而value是不同的值。那么打印出来的是后面那个值,也就是说覆盖掉了之前put的value值