JAVA ---- java中集合主要两大分支 Collection 和 Map

我先学习 Map 集合类,而后再学习 Collection 类;安全

一、HashMap 和 Hashtable 这两兄弟常常被放到一块儿来比较,那么它们有什么不同呢?多线程

a. HashMap 不是线程安全的;HashTable 是线程安全的,其线程安全是经过Sychronize实现。工具

b. 因为上述缘由,HashMap 效率高于 HashTable。学习

c.HashMap 的键和值能够为null,HashTable 不容许键或者值为null。多线程环境下,一般也不是用 HashTable,由于效率低。HashMap 配合 Collections 工具类使用实现线程安全。同时还有 ConcurrentHashMap 能够选择,该类的线程安全是经过 Lock 的方式实现的,因此效率高于Hashtable。hashTable是同步的。而HashMap不是,所以 HashMap 更适合单线程环境,而 HashTable适合于多线程环境。线程

相关文章
相关标签/搜索