## Java Collections 类常用的方法 `java.util.Collections` 提供了一系列静态方法用于操作集合(List、Set、Queue 等)。以下是常用方法整理: #### 集合操作 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ---------------- | ---------------------------------------------- | ------------ | ------------------ | -------------------------------------------------------- | | `sort()` | `List list` | `void` | 按自然顺序排序 | `Collections.sort(list)` | | | `List list, Comparator super T> c` | `void` | 按比较器排序 | `Collections.sort(list, Comparator.reverseOrder())` | | `binarySearch()` | `List> list, T key` | `int` | 二分查找元素 | `int pos = Collections.binarySearch(names, "Java")` | | | `List> list, T key, Comparator super T> c` | `int` | 按比较器二分查找 | `int pos = Collections.binarySearch(emps, keyEmp, comp)` | | `reverse()` | `List> list` | `void` | 反转列表顺序 | `Collections.reverse(names)` | | `shuffle()` | `List> list` | `void` | 随机打乱顺序 | `Collections.shuffle(cards)` | | `fill()` | `List super T> list, T obj` | `void` | 用指定元素填充列表 | `Collections.fill(names, "N/A")` | | `copy()` | `List super T> dest, List extends T> src` | `void` | 复制列表内容 | `Collections.copy(destList, srcList)` | | `swap()` | `List> list, int i, int j` | `void` | 交换索引位置元素 | `Collections.swap(list, 0, 3)` | --- #### 最大/最小值 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ---------- | ------------------------------------------------ | ------------ | ------------------ | ------------------------------------------ | | `max()` | `Collection> coll` | `T` | 按自然顺序取最大值 | `String max = Collections.max(names)` | | | `Collection> coll, Comparator super T> comp` | `T` | 按比较器取最大值 | `Emp maxEmp = Collections.max(emps, comp)` | | `min()` | `Collection> coll` | `T` | 按自然顺序取最小值 | `String min = Collections.min(names)` | | | `Collection> coll, Comparator super T> comp` | `T` | 按比较器取最小值 | `Emp minEmp = Collections.min(emps, comp)` | --- #### 安全视图 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | -------------------------- | ----------------- | --------------- | ------------ | ---------------------------------------------------------------------- | | `synchronizedCollection()` | `Collection c` | `Collection` | 线程安全集合 | `Collection syncCol = Collections.synchronizedCollection(col)` | | `synchronizedList()` | `List list` | `List` | 线程安全列表 | `List syncList = Collections.synchronizedList(names)` | | `synchronizedSet()` | `Set s` | `Set` | 线程安全 Set | `Set syncSet = Collections.synchronizedSet(set)` | | `synchronizedMap()` | `Map m` | `Map` | 线程安全 Map | `Map syncMap = Collections.synchronizedMap(map)` | --- #### 不可变集合 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | -------------------- | -------------------------------- | ------------ | ----------------- | --------------------------------------------------------------- | | `emptyList()` | - | `List` | 空不可变列表 | `List empty = Collections.emptyList()` | | `emptySet()` | - | `Set` | 空不可变 Set | `Set empty = Collections.emptySet()` | | `emptyMap()` | - | `Map` | 空不可变 Map | `Map empty = Collections.emptyMap()` | | `singleton()` | `T o` | `Set` | 单元素不可变 Set | `Set single = Collections.singleton("Java")` | | `singletonList()` | `T o` | `List` | 单元素不可变列表 | `List single = Collections.singletonList("Java")` | | `singletonMap()` | `K key, V value` | `Map` | 单元素不可变 Map | `Map single = Collections.singletonMap(1L, "ID")` | | `unmodifiableList()` | `List extends T> list` | `List` | 不可修改列表视图 | `List unmodList = Collections.unmodifiableList(names)` | | `unmodifiableSet()` | `Set extends T> s` | `Set` | 不可修改 Set 视图 | `Set unmodSet = Collections.unmodifiableSet(set)` | | `unmodifiableMap()` | `Map extends K,? extends V> m` | `Map` | 不可修改 Map 视图 | `Map unmodMap = Collections.unmodifiableMap(map)` | --- #### 特殊集合 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ------------- | ---------------------------------------- | ------------ | ------------------ | -------------------------------------------------------- | | `nCopies()` | `int n, T o` | `List` | 创建重复元素列表 | `List repeated = Collections.nCopies(5, "Copy")` | | `frequency()` | `Collection> c, Object o` | `int` | 计算元素出现次数 | `int freq = Collections.frequency(names, "Java")` | | `disjoint()` | `Collection> c1, Collection> c2` | `boolean` | 检测集合是否无交集 | `boolean noCommon = Collections.disjoint(set1, set2)` | | `addAll()` | `Collection super T> c, T... elements` | `boolean` | 批量添加元素 | `Collections.addAll(names, "A", "B", "C")` | Loading... ## Java Collections 类常用的方法 `java.util.Collections` 提供了一系列静态方法用于操作集合(List、Set、Queue 等)。以下是常用方法整理: #### 集合操作 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ---------------- | ---------------------------------------------- | ------------ | ------------------ | -------------------------------------------------------- | | `sort()` | `List<T> list` | `void` | 按自然顺序排序 | `Collections.sort(list)` | | | `List<T> list, Comparator<? super T> c` | `void` | 按比较器排序 | `Collections.sort(list, Comparator.reverseOrder())` | | `binarySearch()` | `List<?> list, T key` | `int` | 二分查找元素 | `int pos = Collections.binarySearch(names, "Java")` | | | `List<?> list, T key, Comparator<? super T> c` | `int` | 按比较器二分查找 | `int pos = Collections.binarySearch(emps, keyEmp, comp)` | | `reverse()` | `List<?> list` | `void` | 反转列表顺序 | `Collections.reverse(names)` | | `shuffle()` | `List<?> list` | `void` | 随机打乱顺序 | `Collections.shuffle(cards)` | | `fill()` | `List<? super T> list, T obj` | `void` | 用指定元素填充列表 | `Collections.fill(names, "N/A")` | | `copy()` | `List<? super T> dest, List<? extends T> src` | `void` | 复制列表内容 | `Collections.copy(destList, srcList)` | | `swap()` | `List<?> list, int i, int j` | `void` | 交换索引位置元素 | `Collections.swap(list, 0, 3)` | --- #### 最大/最小值 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ---------- | ------------------------------------------------ | ------------ | ------------------ | ------------------------------------------ | | `max()` | `Collection<?> coll` | `T` | 按自然顺序取最大值 | `String max = Collections.max(names)` | | | `Collection<?> coll, Comparator<? super T> comp` | `T` | 按比较器取最大值 | `Emp maxEmp = Collections.max(emps, comp)` | | `min()` | `Collection<?> coll` | `T` | 按自然顺序取最小值 | `String min = Collections.min(names)` | | | `Collection<?> coll, Comparator<? super T> comp` | `T` | 按比较器取最小值 | `Emp minEmp = Collections.min(emps, comp)` | --- #### 安全视图 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | -------------------------- | ----------------- | --------------- | ------------ | ---------------------------------------------------------------------- | | `synchronizedCollection()` | `Collection<T> c` | `Collection<T>` | 线程安全集合 | `Collection<String> syncCol = Collections.synchronizedCollection(col)` | | `synchronizedList()` | `List<T> list` | `List<T>` | 线程安全列表 | `List<String> syncList = Collections.synchronizedList(names)` | | `synchronizedSet()` | `Set<T> s` | `Set<T>` | 线程安全 Set | `Set<String> syncSet = Collections.synchronizedSet(set)` | | `synchronizedMap()` | `Map<K,V> m` | `Map<K,V>` | 线程安全 Map | `Map<String, Integer> syncMap = Collections.synchronizedMap(map)` | --- #### 不可变集合 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | -------------------- | -------------------------------- | ------------ | ----------------- | --------------------------------------------------------------- | | `emptyList()` | - | `List<T>` | 空不可变列表 | `List<String> empty = Collections.emptyList()` | | `emptySet()` | - | `Set<T>` | 空不可变 Set | `Set<Integer> empty = Collections.emptySet()` | | `emptyMap()` | - | `Map<K,V>` | 空不可变 Map | `Map<String, Date> empty = Collections.emptyMap()` | | `singleton()` | `T o` | `Set<T>` | 单元素不可变 Set | `Set<String> single = Collections.singleton("Java")` | | `singletonList()` | `T o` | `List<T>` | 单元素不可变列表 | `List<String> single = Collections.singletonList("Java")` | | `singletonMap()` | `K key, V value` | `Map<K,V>` | 单元素不可变 Map | `Map<Long, String> single = Collections.singletonMap(1L, "ID")` | | `unmodifiableList()` | `List<? extends T> list` | `List<T>` | 不可修改列表视图 | `List<String> unmodList = Collections.unmodifiableList(names)` | | `unmodifiableSet()` | `Set<? extends T> s` | `Set<T>` | 不可修改 Set 视图 | `Set<String> unmodSet = Collections.unmodifiableSet(set)` | | `unmodifiableMap()` | `Map<? extends K,? extends V> m` | `Map<K,V>` | 不可修改 Map 视图 | `Map<String, Date> unmodMap = Collections.unmodifiableMap(map)` | --- #### 特殊集合 | **方法名** | **参数** | **返回类型** | **功能描述** | **示例** | | ------------- | ---------------------------------------- | ------------ | ------------------ | -------------------------------------------------------- | | `nCopies()` | `int n, T o` | `List<T>` | 创建重复元素列表 | `List<String> repeated = Collections.nCopies(5, "Copy")` | | `frequency()` | `Collection<?> c, Object o` | `int` | 计算元素出现次数 | `int freq = Collections.frequency(names, "Java")` | | `disjoint()` | `Collection<?> c1, Collection<?> c2` | `boolean` | 检测集合是否无交集 | `boolean noCommon = Collections.disjoint(set1, set2)` | | `addAll()` | `Collection<? super T> c, T... elements` | `boolean` | 批量添加元素 | `Collections.addAll(names, "A", "B", "C")` | 最后修改:2025 年 10 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 👆请简单粗暴地爱我。