import java.util.*;
public class Solution {
class node {
int key;
int value;
public node(int key, int value) {
this.key = key;
this.value = value;
}
}
List<node> list=new LinkedList<>();
public int capacity;
public Solution(int capacity) {
// write code here
this.capacity = capacity;
}
public int get(int key) {
for (node n : list) {
if (n.key == key) {
list.remove(n);
list.add(n);
return n.value;
}
}
return -1;
}
public void set(int key, int value) {
// write code here
if(list.size()<this.capacity){
node n=new node(key,value);
int index=contains(n.key);
if(index<0){
list.add(n);
}else{
list.set(index,n);
list.remove(n);
list.add(n);
}
}else{
list.remove(0);
node n=new node(key,value);
list.add(n);
}
}
public int contains(int key){
int i=0;
for (node n : list) {
if (n.value == key) {
return i;
}
i++;
}
return -1;
}
}
/**
* Your Solution object will be instantiated and called as such:
* Solution solution = new Solution(capacity);
* int output = solution.get(key);
* solution.set(key,value);
*/