File tree 2 files changed +25
-7
lines changed
main/java/com/crossoverjie/actual
test/java/com/crossoverjie/actual
2 files changed +25
-7
lines changed Original file line number Diff line number Diff line change 1
1
package com .crossoverjie .actual ;
2
2
3
- import com .sun .scenario .effect .impl .prism .PrImage ;
4
-
5
3
import java .util .HashMap ;
6
4
import java .util .Map ;
7
- import java .util .concurrent .LinkedBlockingQueue ;
8
5
9
6
/**
10
7
* Function:
16
13
public class LRUMap <K , V > {
17
14
private final Map <K , V > cacheMap = new HashMap <>();
18
15
19
- private int queueSize ;
16
+ /**
17
+ * 最大缓存大小
18
+ */
19
+ private int cacheSize ;
20
20
21
+ /**
22
+ * 节点大小
23
+ */
21
24
private int nodeCount ;
22
25
23
26
@@ -31,8 +34,8 @@ public class LRUMap<K, V> {
31
34
*/
32
35
private Node <K , V > tailer ;
33
36
34
- public LRUMap (int queueSize ) {
35
- this .queueSize = queueSize ;
37
+ public LRUMap (int cacheSize ) {
38
+ this .cacheSize = cacheSize ;
36
39
//头结点的下一个结点为空
37
40
header = new Node <>();
38
41
header .next = null ;
@@ -125,7 +128,7 @@ private void addNode(K key, V value) {
125
128
Node <K , V > node = new Node <>(key , value );
126
129
127
130
//容量满了删除最后一个
128
- if (queueSize == nodeCount ) {
131
+ if (cacheSize == nodeCount ) {
129
132
//删除尾结点
130
133
delTail ();
131
134
Original file line number Diff line number Diff line change @@ -23,6 +23,21 @@ public void put() throws Exception {
23
23
lruMap .put ("5" ,5 ) ;
24
24
System .out .println (lruMap .toString ());
25
25
}
26
+ @ Test
27
+ public void put2 () throws Exception {
28
+ LRUMap <String ,Integer > lruMap = new LRUMap (4 ) ;
29
+ lruMap .put ("1" ,1 ) ;
30
+ lruMap .put ("2" ,2 ) ;
31
+ lruMap .put ("3" ,3 ) ;
32
+
33
+ System .out .println (lruMap .toString ());
34
+
35
+ lruMap .put ("4" ,4 ) ;
36
+ System .out .println (lruMap .toString ());
37
+
38
+ lruMap .put ("5" ,5 ) ;
39
+ System .out .println (lruMap .toString ());
40
+ }
26
41
27
42
@ Test
28
43
public void get () throws Exception {
You can’t perform that action at this time.
0 commit comments