Map的性能

HashMap    Map基于散列表的实现(它取代了Hashtable)。插入和查询"键值对"的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能

LinkedHashMap  类似HashMap,但是迭代遍历它时,取得"键值对"的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点;

        而在迭代访问时反而更快,因为它使用链表维护内部次序

TreeMap       基于红黑树实现。查看"键"或"键值对"时,它们会被排序(次序由Comparable或Compatator决定)。TreeMap的特点在于,所得到的结果是经过排序的。

        TreeMap是唯一的带有subMap()方法的Map,它可以返回一个子树。

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

ConcurrentHashMap 一种线程安全的Map,它不涉及同步加锁。我们将在"并发"一章中讨论

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

posted @ 2016-05-09 13:22  Friday92  阅读(291)  评论(0编辑  收藏  举报