在Java中Collections常用方法有哪些_Java集合工具方法说明

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

Collections 是 Java 中操作集合的工具类,提供大量静态方法用于对 ListSetMap(部分方法需配合 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) 等系列方法(unmodifiableSetunmodifiableMap):返回只读视图,任何修改操作(如 addclear)抛出 UnsupportedOperationException
  • synchronizedList(List list) 等系列方法:返回线程安全的同步包装器,所有公共方法加了 synchronized(适合简单场景,高并发建议用 CopyOnWriteArrayListConcurrentHashMap

常用便捷操作方法

简化日常开发中高频集合处理逻辑:

  • emptyList() / emptySet() / emptyMap():返回类型安全、不可变、共享的空集合(推荐替代 new ArrayList()
  • singletonList(T o) / singletonSet(T o) / singletonMap(K key, V value):创建仅含一个元素的不可变集合
  • frequency(Collection> c, Object o):统计某元素在集合中出现次数(适用于 ListSet
  • 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()