Java LRU缓存-如何声明对列表元素的引用

Java LRU缓存-如何声明对列表元素的引用,java,Java,我试图使用HashMap和双链表实现LRU缓存。我想创建以下类:- public class LRUCache { List<V> list; // LinkedList() Map<K, <Reference to list elements/nodes?>> map; // Hashtable() } 公共类LRUCache{ List;//LinkedList() Map Map;//Hashtable() } 我计划使用Linke

我试图使用HashMap和双链表实现LRU缓存。我想创建以下类:-

public class LRUCache {
    List<V> list;  // LinkedList()
    Map<K, <Reference to list elements/nodes?>> map; // Hashtable()
}
公共类LRUCache{
List;//LinkedList()
Map Map;//Hashtable()
}
我计划使用LinkedList类作为双链接列表和哈希表类来存储。但是,我不确定如何声明或定义对列表中内部节点元素的引用

下面的参考使用内部节点类进行实现。这是因为LinkedList类的封装导致您无法访问内部数据字段吗

我知道我的理解部分正确,但也需要一些确认。我试图在leetcode上解决这个问题,但由于这个问题,我被困了很长时间

//下面的代码片段
公共类LRUCache{
//使用指向上一项和下一项的指针以及键、值对定义节点
类节点{

不,你不能做你在Java中尝试做的事情;你不能访问
链接列表的内部节点。你可以做的是在中使用LinkedHashMap,然后重写
RemoveedStantry
来限制缓存大小。

不,你不能做你在Java中尝试做的事情;你不能访问
的内部节点LinkedList
。您可以在中使用LinkedHashMap,然后重写
RemoveedStantry
以限制缓存大小。

这是由于封装,对吗?这意味着如果我想从头开始编写它,我需要定义自己的节点类,以后可以用作引用。这是由于封装,对吗?这意味着如果我想从头开始写,我需要定义我自己的节点类,以后可以用作引用。
// snippet below
public class LRUCache<K, V>{

// Define Node with pointers to the previous and next items and a key, value pair
class Node<T, U> {