1.LinkedList
本质:双向链表。效率:与ArrayList相比,插入和删除速度快,随机访问速度慢。
继承和实现:继承AbstractList抽象类,实现Deque接口(有队列和栈)
成员变量:size、first、last
2.LinkedHashMap
1)像HashMap一样用数组、单链表和红黑树来组织数据
2)维护了一个双向链表,每次向LinkedHashMap插入键值对,除了将其插入到哈希表的对应位置,还要将其插入到双向循环链表的尾部。
3.LRU(最近最少使用)算法
运用:LinkedHashMap的遍历顺序--访问顺序(access-ordered)
核心思想:如果数据最近被访问过,那么将来被访问的几率也更高
最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:
1. 新数据插入到链表头部;
2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
3. 当链表满的时候,将链表尾部的数据