0
我在研究LRU缓存算法。我有一个关于pair []的问题,getAll(),这是在缓存界面中定义的方法。什么是pair [] getAll()是否意味着在LRU缓存中?
interface Cache<K extends Comparable, V> {
V get(K obj);
void put(K key, V obj);
void put(K key, V obj, long validTime);
void remove(K key);
Pair[] getAll();
int size();
}
在LRUCache类中。该方法被执行。
public Pair[] getAll() {
Pair p[] = new Pair[m_maxSize];
int count = 0;
synchronized(m_listLock) {
Item cur = m_start.next;
while(cur!=m_end) {
p[count] = new Pair(cur.key, cur.value);
++count;
cur = cur.next;
}
}
Pair np[] = new Pair[count];
System.arraycopy(p, 0, np, 0, count);
return np;
}
正如您所看到的,我很好奇为什么以及如何在getAll()方法之前使用pair []?为什么使用它?
非常感谢!
感谢您的回复。所以,这实际上返回一个名为pair的数组,而pair []不仅仅是arrary,而是包含像Entryset这样的键 - 值关系。我没有看到用于装饰的方法,颇有意思。谢谢! –
@詹姆斯,如果我的文章回答您的查询,然后upvoting或选择这个答案肯定会帮助:) – Kishore