日期:2014-05-20  浏览次数:20723 次

关于Map的键的问题
Map的键可以是null不?

------解决方案--------------------
Java code
Map<String,String> map = new HashMap<String, String>();
        map.put(null,"123");
        System.out.println(map.get(null));

------解决方案--------------------
Java code

Map m = new Hashtable();
        m.put(null, "a");
        System.out.println(m.get(null));

------解决方案--------------------
/*
 * Map集合:该集合存储键值对,是一对一对往里存,而且要保证键的唯一性
 * 
 * Map
 * |--Hashtable:底层是哈希表数据结构,不可以存入null键null值,是线程同步的,效率低。JDK1.0
 * |--HashMap:底层是哈希表数据结构,可以存入null键null值,线程不同步,效率高。JDK1.2
 * |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于对Map集合中的键进行排序
 * 注:Set集合底层使用的就是Map集合
 */
------解决方案--------------------
可以存空值,但是我试过再put一个null键值,而value是不同的值。那么打印出来的是后面那个值,也就是说覆盖掉了之前put的value值