一个LinkedList的简单体现(用户缓存手机通话记录)

public class RequestCache {
 
 // TODO cache lifeTime
 // 限制最多缓存10条
 private static int CACHE_LIMIT = 10;
 
 @SuppressWarnings("unchecked")
 private LinkedList history;
 private Hashtable<String, String> cache;
 
 @SuppressWarnings("unchecked")
 public RequestCache(){
  history = new LinkedList();
  cache = new Hashtable<String, String>();
 }
 
 @SuppressWarnings("unchecked")
 public void put(String url, String data){
  history.add(url);
  // too much in the cache, we need to clear something
  //如果缓存中超过规定的条数,需要删除一部分
  //这里需要注意一下“链表是如何删除数据的”:pool()表示获取并移除此列表的头
  if(history.size() > CACHE_LIMIT){
   String old_url = (String) history.poll();
   cache.remove(old_url);
  }
  cache.put(url, data);
 }
 
 public String get(String url){
  return cache.get(url);
 }
}

转载于:https://www.cnblogs.com/wlfhotte/archive/2011/11/30/2269381.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值