我先学习 Map 集合类,然后再学习 Collection 类;
1、HashMap 和 Hashtable 这两兄弟经常被放到一起来比较,那么它们有什么不一样呢?
a. HashMap 不是线程安全的;HashTable 是线程安全的,其线程安全是通过Sychronize实现。
b. 由于上述原因,HashMap 效率高于 HashTable。
c.HashMap 的键和值可以为null,HashTable 不允许键或者值为null。多线程环境下,通常也不是用 HashTable,因为效率低。HashMap 配合 Collections 工具类使用实现线程安全。同时还有 ConcurrentHashMap 可以选择,该类的线程安全是通过 Lock 的方式实现的,所以效率高于Hashtable。hashTable是同步的。而HashMap不是,因此 HashMap 更适合单线程环境,而 HashTable适合于多线程环境。
原文地址:https://www.cnblogs.com/H-hy/p/11206717.html
时间: 2024-10-29 08:42:48