public int get(int key) {
        if (!map.containsKey(key)) {
            return -1;
        }
        Node n = mm.get(key);
        if (n.next == null) {
            return map.get(key);
        }
        n.val = n.next.val;
        if (n.next == tail) {
            n.next = null;
            tail = n;
        } else {
            n.next = n.next.next;
        }

        tail.next = new Node(key);
        tail = tail.next;
        mm.put(key, tail);
        return map.get(key);
    }
Why Did you create this class? what does it do?
src/codeforces/LRU.java