Map有很多實(shí)現(xiàn),下面只說基本的幾個(gè):
1.HashMap: Map基于散列表的實(shí)現(xiàn)(取代了Hashtable)。插入和查詢鍵值對(duì)的開銷固定,可以通過構(gòu)造器設(shè)置容量和負(fù)載因子,以調(diào)整容器的性能
2.LinkedHashMap :類似于HashMap,內(nèi)部使用鏈表實(shí)現(xiàn),同LinkedHashSet,使用迭代器迭代時(shí)會(huì)按照插入順序迭代。
3.TreeMap :基于紅黑樹的實(shí)現(xiàn),查看鍵或鍵值對(duì)的時(shí)候,他們會(huì)被排序(次序由Comparable接口決定,類似TreeSet),TreeMap是唯一帶有subMap()方法的Map,他可以返回一個(gè)子樹。
4.ConcurrentHashMap :一種線程安全的Map,他不涉及同步加鎖,在并發(fā)一章中將深入討論。
SortedMap
TreeMap是現(xiàn)階段SortedMap的唯一實(shí)現(xiàn),使用SortedMap可以確保建處于排序狀態(tài)。以下為SortedMap的一些特有方法(基本類似于TreeSet,方法的作用就不多說了):
1.T firstKey() 返回Map中的第一個(gè)鍵
2.T lastKey()
3.SortedMap subMap(fromKey, toKey) 范圍:formKey(包含)到toKey(不包含)
4.SortedMap headMap(toKey)
5.SortedMap tailMap(formKey)