Java 集合框架总览:List/Set/Map/Queue 选型

一、集合总览

接口 实现 特点
List ArrayList / LinkedList 有序可重复
Set HashSet / TreeSet 不可重复
Map HashMap / TreeMap 键值对
Queue LinkedList / ArrayDeque 队列

二、选型的直觉

  • 随机访问多 → ArrayList;头尾增删多 → LinkedList;
  • 查重/去重 → HashSet;需要排序 → TreeSet;
  • 键值映射 → HashMap;并发用 ConcurrentHashMap。

三、迭代注意

遍历时用迭代器的 remove() 删除,或 Java 8 的 removeIf,别在 for-each 里直接删(会抛异常)。

集合是日常开发最高频的 API,理解各实现的时间复杂度(ArrayList 查 O(1)、LinkedList 删头 O(1))能少踩坑。