要求:实现一个文件系统缓存中常用的算法LRU(last recently used),要求实现get/set方法
提示:使用LinkedHashMap实现
LinkedHashMap: 会保留插入的顺序,按插入顺序的链表,和按照访问顺序的链表(调用get方法)的链表:
默认是按插入顺序排序,如果指定按访问顺序排序,那么调用get方法后,会将这次访问的元素移至链表尾部,不断访问可以形成按访问顺序排序的链表。可以重写removeEldestEntry方法返回true值指定插入元素时移除最老的元素。
【LRU|LRU java 实现】
文章图片
使用LinkedHashMap实现