java语言-容器和Map-Map 1.7和1.8
面5笔5HashMap、HashTable的key和value是否可为null?
HashMap对象的key、value值均可为null。HahTable对象的key、value值均不可为null。
且两者的的key值均不能重复,若添加key相同的键值对,后面的value会自动覆盖前面的value,但不会报错。
因为HashMap是应用在单线程场景下,在源码中,当判断key为空时,会把value存入table[0]处。
当value为空时,可以通过**containsKey(key)**来判断是否有key,若有,则说明返回的null是空value,若没有这个key,则说明返回的null是没有这个key的空。
当存入key和value的都为空时,containskey(key)也会返回true,以为table中有Node节点(Node中的key和value属性都为null)