首页 > 代码库 > Java LRU的实现
Java LRU的实现
最近在leetcode上做题的时,看到了一道有关LRU Cache的题目,正好我当初面试阿里巴巴的时候问到的。主要采用linkedHashMap来实现。
package edu.test.algorithm;import java.util.LinkedHashMap;public class LRUCache { LinkedHashMap<Integer,Integer> linkedHashMap; int capacity; public LRUCache(int capacity) { linkedHashMap=new LinkedHashMap<Integer, Integer>(capacity); this.capacity=capacity; } public int get(int key) { if(linkedHashMap.containsKey(key)){ int value=http://www.mamicode.com/linkedHashMap.get(key); linkedHashMap.remove(key); linkedHashMap.put(key, value); return value; } return -1; } public void set(int key, int value) { if(linkedHashMap.containsKey(key)){ linkedHashMap.remove(key); } else if(linkedHashMap.size()>=capacity){ linkedHashMap.remove(linkedHashMap.keySet().iterator().next()); } linkedHashMap.put(key, value); } }
Java LRU的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。