宿題をしています。<key, value>
キャッシュを保存するためのデータ構造が必要です。また、新しい要素 (のアナログ) 用のスペースがない場合、構造が最も古いアイテムを削除する必要がありますLinkedHashMap.removeEldestEntry()
。
Map.Entry<K, V>
割り当てのためにキューオーバーを実装したい。問題を解決する正しい方法ですか?
説明:
public class Queue<K, V>
{
protected LinkedList<MyEntry<K, V>> list;
public Queue() {
list = new LinkedList<MyEntry<K,V>>();
}
////
}
final class MyEntry<K, V> implements Map.Entry<K, V> {
private final K key;
private V value;
public MyEntry(K key, V value) {
this.key = key;
this.value = value;
}
@Override
public K getKey() {
return key;
}
@Override
public V getValue() {
return value;
}
@Override
public V setValue(V value) {
V old = this.value;
this.value = value;
return old;
}
}
その後:
Queue<String, String> queue = new Queue<String>();