利用LinkedHashMap实现一个简单的LUR(Least Recently Used 近期最少使用算法)的cache的两种方法
在做LeetCode题目的时候遇到的这个算法,简单的学习了下
LinkedHashMap的特性:
Linked内部含有一个private transient Entry header;
来记录元素插入的顺序或者是元素被访问的顺序。利用这个线性结构的对象,可以帮助记录entry加入的前后顺序或者记录entry被访问的 频率(最少被访问的entry靠前,最近访问的entry靠后)。
1.按照entry加入前后的顺序实现
自己来控制何时删除最少被访问的那个entry
import java.util.*;
public class <K,V> LRUCache<K,V> {
private LinkedHashMap<K,V> cache;
private int capacity;
public LRUCache(int capacity) {
this.capacity = capa

本文介绍了如何利用Java中的LinkedHashMap实现LRU(Least Recently Used)缓存策略,包括按照插入顺序和访问频率两种方法。通过设置accessOrder为true,可以创建一个基于访问顺序的LinkedHashMap,实现最近最少使用的调度算法。
最低0.47元/天 解锁文章
614

被折叠的 条评论
为什么被折叠?



