Java8改进的HashMap和Hashtable实现类

来源:互联网 发布:十四阿哥和四阿哥知乎 编辑:程序博客网 时间:2024/06/06 03:52

HashMap和Hashtable两点典型区别:

1.Hashtable是一个线程安全的Map实现,但HashMap是线程不安全的实现,所以HashMap比Hashtable的性能高一点;但如果有多个线程访问同一个Map对象时,使用Hashtable实现类会更好。

2.Hashtable不允许使用null作为key和value,如果试图把null值放进Hashtable中,将会引发NullPointException异常;但HashMap可以使用null作为key和value。

Collections类中提供多个synchronizedXxx()方法,该方法可以将指定集合包装成线程同步集合,如synchronizedMap(new HashMap()),从而解决多线程并发访问集合时的线程安全。

No区别HashMapHashtable1推出版本JDK1.2JDK1.02性能 异步处理、性能高             同步处理、性能较低3安全性非线程安全线程安全4null操作允许存放nullkey和value不允许为空