Collections 是 Java 集合工具类,提供静态方法实现排序(sort)、打乱(shuffle)、查找(binarySearch)、替换(replaceAll)、填充(fill)、同步、不可变封装等操作,所有方法均通过 Collections.xxx(...) 调用。

Collections 是 Java 中操作集合的工具类,提供大量静态方法用于对 List、Set、Map(部分方法需配合 Collection 接口)等集合进行排序、查找、同步、不可变封装等操作。它不直接实例化,所有方法均为 static,使用方式为 Collections.xxx(...)。
集合排序与比较相关方法
适用于 List 类型,要求元素实现 Comparable 接口,或传入自定义 Comparator:
-
sort(List:按自然顺序升序排列(如list) String字典序、Integer数值大小) -
sort(List:按指定比较器排序,支持倒序、多字段等灵活逻辑list, Comparator super T> c) -
reverse(List> list):反转列表顺序(原地操作) -
shuffle(List> list):打乱列表元素顺序(基于默认随机源) -
min(Collection extends T> coll)/max(...):返回最小/最大元素(依赖自然序或传入比较器)
不可变集合与同步包装方法
用于增强集合的安全性与线程安全性(注意:这些方法返回的是原始集合的“包装视图”,非新集合):
-
unmodifiableList(List extends T> list)等系列方法(unmodifiableSet、unmodifiableMap):返回只读视图,任何修改操作(如add、clear)抛出UnsupportedOperationException -
synchronizedList(List等系列方法:返回线程安全的同步包装器,所有公共方法加了list) synchronized(适合简单场景,高并发建议用CopyOnWriteArrayList或ConcurrentHashMap)
常用便捷操作方法
简化日常开发中高频集合处理逻辑:
立即学习“Java免费学习笔记(深入)”;
-
emptyList()/emptySet()/emptyMap():返回类型安全、不可变、共享的空集合(推荐替代new ArrayList()) -
singletonList(T o)/singletonSet(T o)/singletonMap(K key, V value):创建仅含一个元素的不可变集合 -
frequency(Collection> c, Object o):统计某元素在集合中出现次数(适用于List和Set) -
disjoint(Collection> c1, Collection> c2):判断两个集合是否无交集(返回true表示完全不重叠) -
replaceAll(List:批量替换指定元素(仅限list, T oldVal, T newVal) List)
查找与填充辅助方法
提升集合内容检查和初始化效率:
-
binarySearch(List extends Comparable super T>> list, T key):二分查找(要求列表已排序),返回索引或负插入点 -
indexOfSubList(List> source, List> target)/lastIndexOfSubList(...):查找子列表首次/末次出现位置 -
fill(List super T> list, T obj):用指定对象填充整个列表(覆盖所有元素) -
copy(List super T> dest, List extends T> src):将源列表拷贝到目标列表(要求dest.size() >= src.size())










