Map有很多实现,下面只说基本的几个:
1.HashMap: Map基于散列表的实现(取代了Hashtable)。插入和查询键值对的开销固定,可以通过构造器设置容量和负载因子,以调整容器的性能
2.LinkedHashMap :类似于HashMap,内部使用链表实现,同LinkedHashSet,使用迭代器迭代时会按照插入顺序迭代。
3.TreeMap :基于红黑树的实现,查看键或键值对的时候,他们会被排序(次序由Comparable接口决定,类似TreeSet),TreeMap是唯一带有subMap()方法的Map,他可以返回一个子树。
4.ConcurrentHashMap :一种线程安全的Map,他不涉及同步加锁,在并发一章中将深入讨论。
SortedMap
TreeMap是现阶段SortedMap的唯一实现,使用SortedMap可以确保建处于排序状态。以下为SortedMap的一些特有方法(基本类似于TreeSet,方法的作用就不多说了):
1.T firstKey() 返回Map中的第一个键
2.T lastKey()
3.SortedMap subMap(fromKey, toKey) 范围:formKey(包含)到toKey(不包含)
4.SortedMap headMap(toKey)
5.SortedMap tailMap(formKey)