Collections 工具类与 Arrays 类常用方法笔记

一、Collections 工具类(操作集合)

1. 排序相关

  • sort(List<T> list):对 List 按自然排序(元素需实现 Comparable 接口)
  • sort(List<T> list, Comparator<? super T> c):按自定义比较器排序 List

2. 查找与最值

  • binarySearch(List<? extends Comparable<? super T>> list, T key):二分查找元素(需先排序)
  • max(Collection<? extends T> coll):获取集合中自然排序的最大元素
  • min(Collection<? extends T> coll):获取集合中自然排序的最小元素

3. 集合操作

  • reverse(List<?> list):反转 List 中元素顺序
  • shuffle(List<?> list):随机打乱 List 元素
  • fill(List<? super T> list, T obj):用指定对象填充 List 所有元素
  • copy(List<? super T> dest, List<? extends T> src):复制源 List 到目标 List
  • addAll(Collection<? super T> c, T... elements):向集合批量添加元素
  • replaceAll(List<T> list, T oldVal, T newVal):替换 List 中所有旧值为新值

4. 线程安全

  • synchronizedList(List<T> list):返回线程安全的 List
  • synchronizedMap(Map<K,V> m):返回线程安全的 Map
  • synchronizedSet(Set<T> s):返回线程安全的 Set

二、Arrays 工具类(操作数组)

1. 排序相关

  • sort(int[] a):对基本类型数组排序(int、long 等均有重载)
  • sort(Object[] a):对对象数组排序(元素需实现 Comparable 接口)
  • sort(T[] a, Comparator<? super T> c):按自定义比较器排序对象数组

2. 查找相关

  • binarySearch(int[] a, int key):二分查找数组中元素(需先排序,基本类型均有重载)
  • binarySearch(Object[] a, Object key):二分查找对象数组中元素

3. 数组转换

  • toString(int[] a):将数组转为字符串(如 “[1,2,3]”,基本类型均有重载)
  • asList(T... a):将数组转为 List(返回固定大小的 List,不可增删)
  • deepToString(Object[] a):将多维数组转为字符串

4. 填充与复制

  • fill(int[] a, int val):用指定值填充数组所有元素(基本类型均有重载)
  • copyOf(int[] original, int newLength):复制数组并指定新长度(基本类型均有重载)
  • copyOfRange(int[] original, int from, int to):复制数组指定范围元素(左闭右开)

5. 判断与哈希

  • equals(int[] a, int[] a2):判断两个数组是否相等(长度 + 元素均相同,基本类型均有重载)
  • hashCode(int[] a):计算数组的哈希值

三、核心区别

维度 Collections 工具类 Arrays 类
操作对象 集合(List、Set、Map 等) 数组(基本类型数组、对象数组)
核心作用 增强集合功能(排序、同步、操作) 增强数组功能(排序、转换、复制)
典型场景 List 排序、集合线程安全化 数组转 List、数组排序