前言:借助LinkedHashMap我们可以实现LRU的流程。它内部实现是一个双向链表是有序的,可以根据数据的访问顺序存储数据最近访问的数据别放在链表尾部,前提是在初始化的时候指定访问顺序因此,对应于LRU算法在查询时,如果命中(访问)就会自动调整到尾部如果没命中,直接放在尾部即可若超过指定嫆量大小,要对头部元素进行移除这里我们只需要重写LinkedHashMap的removeEldestEntry方法即可。
拓展:若不能使用这个现成的结构我们可以自己定义一个方法,使用Hashmap+双向链表的方式即可Hashmap可以达到O(1)的查找复杂度,稍后更新这部分代码