Java LRU缓存中的pair[]getAll()是什么意思?
我正在研究LRU缓存算法。我有一个关于pair[]getAll()的问题,它是在缓存接口中定义的方法Java LRU缓存中的pair[]getAll()是什么意思?,java,Java,我正在研究LRU缓存算法。我有一个关于pair[]getAll()的问题,它是在缓存接口中定义的方法 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(); } 如您
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();
}
如您所见,我很好奇为什么以及如何在getAll()方法之前使用pair[]?为什么要使用它
非常感谢 顾名思义
getAll()
将从缓存返回所有项(键值对)的数组。这里的键值
被抽象为一对对
,类似于映射。条目
-感谢您的回复。因此,这实际上返回了一个名为pair的数组,pair[]不仅是array,还包括一个键值关系,如Entryset。我还没有看到阵列用来装饰的方法,挺有意思的。谢谢@詹姆斯,如果我的帖子回答了你的问题,那么投票或者选择这个作为答案肯定会有帮助:)
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;
}