大神写的文章:点击打开链接
我总结下重点:(Hashtable的t为小写 -。-!)
1.Hashtable是同步的,线程安全的,所以效率低;HashMap是异步的,非线程安全,效率高。
2.Hashtable的key和value都不可为null;HashMap的key可以为null,因为HashMap的key不能重复,所以这样的key只可以有一个,可以有一个或多个键所对应的值为null。
**基于第二条原因,所以:
所以当get()方法的返回值为null时,可能有两种情况,一种是在集合中没有该键对象,另一种是该键对象没有映射任何值对象,即值对象为null。因此,在HashMap集合中不应该利用get()方法来判断是否存在某个键,而应该利用containsKey()方法来判断。