| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
ICache.getNode(K key)
获取缓存节点对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
TwoQueuesCache.getNode(K key) |
NodeAbstract<K,V> |
LruCache.getNode(K key) |
NodeAbstract<K,V> |
FifoCache.getNode(K key) |
| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
INodeFactory.createNode(K key,
V value) |
| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
CacheNodeFactory.createNode(K key,
V value) |
| 限定符和类型 | 字段和说明 |
|---|---|
private NodeAbstract<K,V> |
LinkedAbstract.headNode
头节点
|
private NodeAbstract<K,V> |
LinkedAbstract.tailNode
尾节点
|
| 限定符和类型 | 字段和说明 |
|---|---|
private Map<K,NodeAbstract<K,V>> |
LinkedAbstract.searchMap
用于查找链表节点的map
使得查找节点的时间为O(1)
|
| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
LinkedAbstract.get(K key)
根据key获取某个节点
|
NodeAbstract<K,V> |
LinkedAbstract.insertAfter(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点后插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.insertBefore(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点前插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.pop()
从链表尾删除一个节点
|
NodeAbstract<K,V> |
LinkedAbstract.push(NodeAbstract<K,V> node)
尾部插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.shift()
从链表头删除一个节点
|
NodeAbstract<K,V> |
LinkedAbstract.unshift(NodeAbstract<K,V> node)
头部插入节点
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
LinkedAbstract.deleteFromSearchMap(NodeAbstract<K,V> node)
将节点从查找map中移除
|
NodeAbstract<K,V> |
LinkedAbstract.insertAfter(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点后插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.insertAfter(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点后插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.insertBefore(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点前插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.insertBefore(NodeAbstract<K,V> targetNode,
NodeAbstract<K,V> node)
某节点前插入节点
|
NodeAbstract<K,V> |
LinkedAbstract.push(NodeAbstract<K,V> node)
尾部插入节点
|
void |
LinkedAbstract.remove(NodeAbstract<K,V> node)
删除某个节点
|
protected void |
LinkedAbstract.saveToSearchMap(NodeAbstract<K,V> node)
将节点存入查找map
|
NodeAbstract<K,V> |
LinkedAbstract.unshift(NodeAbstract<K,V> node)
头部插入节点
|
| 限定符和类型 | 字段和说明 |
|---|---|
private NodeAbstract<K,V> |
NodeAbstract.nextNode
后继节点
|
private NodeAbstract<K,V> |
NodeAbstract.prevNode
前驱节点
|
| 限定符和类型 | 方法和说明 |
|---|---|
NodeAbstract<K,V> |
NodeAbstract.getNextNode() |
NodeAbstract<K,V> |
NodeAbstract.getPrevNode() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
NodeAbstract.setNextNode(NodeAbstract<K,V> nextNode) |
void |
NodeAbstract.setPrevNode(NodeAbstract<K,V> prevNode) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
CacheNode<K,V>
链表缓存节点实现
|
class |
GuardNode<K,V>
链表哨兵节点实现
哨兵用来标识边界
|
Copyright © 2023. All rights reserved.