Java 集合框架

ArrayList、HashMap、TreeSet、PriorityQueue

ArrayList

ArrayList<Integer> list = new ArrayList<>();
list.add(x);
list.get(i);
list.size();
Collections.sort(list);

HashMap / HashSet

HashMap<String, Integer> mp = new HashMap<>();
mp.put("a", 1);
mp.getOrDefault("b", 0);
mp.containsKey("a");

HashSet<Integer> st = new HashSet<>();
st.add(x); st.contains(x);

TreeMap / TreeSet

有序,$O(\log n)$。

TreeMap<Integer, Integer> tm = new TreeMap<>();
TreeSet<Long> ts = new TreeSet<>();

PriorityQueue(堆)

PriorityQueue<Integer> pq = new PriorityQueue<>();  // 小根堆
// 大根堆:new PriorityQueue<>(Collections.reverseOrder())
pq.offer(x); pq.poll(); pq.peek();

Stack / Queue / Deque

Deque<Integer> dq = new ArrayDeque<>();
dq.offerLast(x); dq.pollFirst();