示例#1
0
 public int get(int key) {
   CacheItem<Integer, Integer> itm = cacheMap.get(key);
   if (itm == null) return -1;
   cacheList.delete(itm);
   cacheList.insertTail(itm);
   return itm.value.intValue();
 }
示例#2
0
 private boolean removeLeastUsed() {
   CacheItem<Integer, Integer> removedKey = cacheList.deleteHead();
   cacheMap.remove(removedKey.key);
   return removedKey == null ? false : true;
 }
示例#3
0
 private void updateItem(int key, int value) {
   CacheItem<Integer, Integer> exitedKey = cacheMap.get(key);
   exitedKey.value = value;
   cacheList.delete(exitedKey);
   cacheList.insertTail(exitedKey);
 }
示例#4
0
 private void addItem(int key, int value) {
   CacheItem<Integer, Integer> newCacheItem = new CacheItem<Integer, Integer>(key, value);
   cacheList.insertTail(newCacheItem);
   cacheMap.put(key, newCacheItem);
   cacheSize++;
 }