Skip to content

Commit 53ac461

Browse files
committed
MRUQueue
1 parent a57696a commit 53ac461

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package ood.design;
2+
3+
import java.util.LinkedList;
4+
import java.util.stream.Stream;
5+
6+
public class MRUQueue {
7+
8+
private LinkedList<Integer> linkedList = new LinkedList<>();
9+
10+
public MRUQueue(int n) {
11+
Stream.iterate(1, i -> i + 1).limit(n).forEach(e->linkedList.add(e));
12+
}
13+
14+
public int fetch(int k) {
15+
int value = linkedList.remove(k-1);
16+
linkedList.addLast(value);
17+
return value;
18+
}
19+
20+
public static void main(String[] args){
21+
MRUQueue queue = new MRUQueue(8);
22+
System.out.println(queue.fetch(3));
23+
System.out.println(queue.fetch(5));
24+
System.out.println(queue.fetch(2));
25+
System.out.println(queue.fetch(8));
26+
}
27+
}

0 commit comments

Comments
 (0)