Collections工具类是Java集合操作的核心辅助组件,提供排序(sort、reverse、shuffle)、查找(binarySearch、max/min)、构造(empty/singleton/unmodifiable)、增强(addAll、swap)和线程安全封装(synchronizedList)五大功能。

Collections 工具类是 Java 集合操作的核心辅助组件,不提供实例,所有方法都通过 Collections.方法名() 直接调用。它专为简化 List、Set 等 Collection 接口实现类的常见操作而设计,重点覆盖排序、查找、变形、集合构造与线程安全封装五大方向。
排序与顺序调整
对 List 类型支持最完善:
-
sort(list):按元素自然顺序升序排列,要求元素实现
Comparable - sort(list, comparator):按自定义规则排序,比如按字符串长度或对象字段值
- reverse(list):原地反转列表顺序,不依赖元素类型
- shuffle(list):使用默认随机源打乱顺序,适合模拟抽签、洗牌等场景
查找与极值计算
兼顾通用性与效率:
- binarySearch(list, key):仅适用于已排序 List,返回索引或负插入点
- max(collection) 和 min(collection):适用于任意 Collection,基于自然顺序比较
- 注意:
binarySearch前必须确保 list 已排序,否则结果不可靠
便捷集合构造
避免手动 new + add 的样板代码:
立即学习“Java免费学习笔记(深入)”;
- emptyList()、emptySet()、emptyMap():返回不可修改的空集合,轻量且线程安全
- singletonList(T)、singletonSet(T):创建只含一个元素的不可变集合
- unmodifiableList(list) 等系列方法:包装已有集合,禁止后续增删改操作
集合增强与安全封装
面向生产环境的实用能力:
- addAll(collection, elements...):一次添加多个元素,比循环 add 更简洁
- synchronizedList(list) 等同步包装器:将普通集合转为线程安全版本(注意:迭代仍需手动同步)
- swap(list, i, j):交换指定位置两个元素,常用于算法实现


















