JDK源码阅读(第9章)utilMap组件中的LinkedHashMap实现
发布时间
阅读量:
阅读量
LinkedHashMap
一、类继承关系
public class LinkedHashMap<K,V>
extends HashMap<K,V>
implements Map<K,V>
二、LinkedHashMap实现类特点
与HashMap的异同:同样是基于散列表实现,
区别在于LinkedHashMap内部增添了一个有序的双向循环链表进行管理,并且该链表按照元素插入顺序或最近访问顺序(LRU)进行排列。简单来说就是:LinkedHashMap等于散列表加上一个循环双向链表,并且不仅还能够保持遍历和插入时的顺序一致
总结:
该类实现了HashMap的基本功能,并包含其大多数属性特征。例如允许键和值为null类型,并且默认容量设置为十六个。此外其负载因子设为0.75
非线程安全等等;
- 建立同步机制:Map m = Collections.synchronizedMap(new LinkedHashMap());
- 通过设置accessOrder属性来决定LinkedHashMap的遍历顺序,默认情况下会遵循元素的插入顺序。
当accessOrder被设置为true时,该结构能够借助其实现LRU缓存功能;
3. LinkedHa
全部评论 (0)
还没有任何评论哟~
