花间一壶酒

导航

基本的Map 实现

Map 是一个接口,实现Map 接口的类颇多,他们各有自己的特点。

HashMap :

如果没有其他的限制,它应该是你的默认选择,因为它对速度进行了优化。Map基于散列表的实现(它取代了HashTable),插入和查询“键值对”的开销是固定的。可以通过构造器设置容量负载因子


LinkedListMap:

类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是 最近最少使用(LRU)的次序,只比HashMap慢一点;而在迭代访问时反而更快,因为他使用 链表 维护内部次序。


TreeMap:

基于红黑树的实现。查看“键”或“键值对”时,他们会被排序(次序由Comparable或comparator决定)。TreeMap的特点在于,所得到的结果是经过排序的。TreeMap是唯一的带有subMap()方法的Map,它可以返回一个子树。


WeakHashMap :

弱键映射, 允许释放映射所指向的对象;这是为解决某类特殊问题而设计的。如果映射之外没有引用指向某个“键”,则此“键”可以被垃圾收集器回收。


ConcurrentHashMap:

一种线程安全的Map,它不涉及同步枷锁。(未完待续)

IndentityHashMap :

使用== 代替equals()对“键”进行比较的散列映射。专为解决特殊问题而设计的


posted on 2011-08-17 15:32  wrh526  阅读(379)  评论(0编辑  收藏  举报