万能双向链表
boolean offerFirst(Object e );
boolean offerLast(Object e );
Object peekFirst();
Object peekLast();
Object pollFirst();
Object pollLast();
Object removeFirst();
Object removeLast();
Object pop();
void push(Object e );
优先队列
PriorityQueue q = new PriorityQueue<>();
q.offer()
q.peek()
q.poll()
Map
Map<Integer> map = new HashMap<>();
map.getKey()
map.get()
map.put()
map.getOrDefault()
map.remove()
map.containsKey()
Map<> map = new TreeMap<>();
map.floorKey()
map.ceilKey()
Set
TreeSet<Integer> set = new TreeSet<>();
set.contains()
map.floor()
map.ceil()
排序