Map的主要實現類:算法
HashMap,Hashtable,linkedHashMap,treeMap。
數組
Hashtable的方法都作了同步。不容許key或者value 爲null性能
HashMap的作法沒有作同步。容許key或者value 爲null
排序
hashTable和hashMap對key的哈希算法和哈希值到內存索引的映射算法不一樣。
繼承
原理: hashMap就是將key作hash算法,而後將hash值映射到內存地址,直接取得key所對應的數據。在hashMap中,底層採用的是數組,所謂的內存地址即數組的下標索引索引
要求:
內存
hash算法必須是高效的
同步
hash值到內存地址(數組索引)的算法必須是高效的
hash
根據內存地址(數組索引)能夠直接取到對應的數據
table
LinkedHashMap :
繼承了HashMap,可是hashMap中的數組是無序的。這是linkedHashMap實現了有序性。
提供了兩種順序類型:
插入時的順序,最近訪問的順序。
TreeMap繼承了SortedMap,性能上比HashMap稍微低一點,可是TreeMap能夠進行排序。實現排序功能Map,TreeMap是個不錯的選擇。