mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-07 09:45:04 +08:00
Fix LFUCache (#3847)
This commit is contained in:
@ -101,7 +101,7 @@ public class LFUCache<K, V> {
|
||||
node.next = temp;
|
||||
node.previous = temp.previous;
|
||||
temp.previous.next = node;
|
||||
node.previous = temp.previous;
|
||||
temp.previous = node;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
@ -61,4 +61,22 @@ class LFUCacheTest {
|
||||
assertEquals(null, lfuCache.get(2));
|
||||
assertEquals("Zeta", lfuCache.get(7));
|
||||
}
|
||||
|
||||
/**
|
||||
* test addNodeWithUpdatedFrequency method
|
||||
* @author yuluo
|
||||
*/
|
||||
@Test
|
||||
void testAddNodeWithUpdatedFrequency() {
|
||||
LFUCache<Integer, String> lfuCache = new LFUCache<>(3);
|
||||
lfuCache.put(1, "beijing");
|
||||
lfuCache.put(2, "shanghai");
|
||||
lfuCache.put(3, "gansu");
|
||||
|
||||
assertEquals("beijing", lfuCache.get(1));
|
||||
|
||||
lfuCache.put(1, "shanxi");
|
||||
|
||||
assertEquals("shanxi", lfuCache.get(1));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user