HashTable 和HashMap区别
生活随笔
收集整理的這篇文章主要介紹了
HashTable 和HashMap区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HashTable?和HashMap區別
HashTable最早的版本是JDK1.1?,HashMap最早版本是1.2
HashTable繼承的是Dictionary抽象類?,?HashMap繼承的是AbstractMap
HashTable是線程安全的,HashMap?是線程不安全
HashTable?key?value?都不能為Null,HashMap?key?value可以為Null
HashTable散列算法是取余,HashMap?是按位與(取模算法)
HashTable初始化默認大小是11,HashMap初始化默認大小是16
這里還需要考慮為什么取余算法?默認就是11,每次擴容都是*2,
應該和HashMap擴容有關
HashTable?內部迭代實現用的是枚舉迭代(Enmeration,第一代迭代器),HashMap內部迭代實現用的迭代器(Iterator)
HashTable?內部Node是鏈表結構,HashMap?1.8新特性?內部Node對象鏈表長度超過8后,會變更為紅黑樹,樹節點小于6的時候,會轉換成鏈表
?
總結
以上是生活随笔為你收集整理的HashTable 和HashMap区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java,获取微信分享需要的获取 sig
- 下一篇: java.awt.Graphics2D