HashTable 和HashMap区别
HashTable?和HashMap區(qū)別
HashTable最早的版本是JDK1.1?,HashMap最早版本是1.2
HashTable繼承的是Dictionary抽象類?,?HashMap繼承的是AbstractMap
HashTable是線程安全的,HashMap?是線程不安全
HashTable?key?value?都不能為Null,HashMap?key?value可以為Null
HashTable散列算法是取余,HashMap?是按位與(取模算法)
HashTable初始化默認(rèn)大小是11,HashMap初始化默認(rèn)大小是16
這里還需要考慮為什么取余算法?默認(rèn)就是11,每次擴(kuò)容都是*2,
應(yīng)該和HashMap擴(kuò)容有關(guān)
HashTable?內(nèi)部迭代實(shí)現(xiàn)用的是枚舉迭代(Enmeration,第一代迭代器),HashMap內(nèi)部迭代實(shí)現(xiàn)用的迭代器(Iterator)
HashTable?內(nèi)部Node是鏈表結(jié)構(gòu),HashMap?1.8新特性?內(nèi)部Node對(duì)象鏈表長(zhǎng)度超過(guò)8后,會(huì)變更為紅黑樹(shù),樹(shù)節(jié)點(diǎn)小于6的時(shí)候,會(huì)轉(zhuǎn)換成鏈表
?
總結(jié)
以上是生活随笔為你收集整理的HashTable 和HashMap区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java,获取微信分享需要的获取 sig
- 下一篇: java.awt.Graphics2D