CodeWalk

Collections工具类常用方法?

作者:小字辈 · 2026-05-30 12:55

请列举Java中java.util.Collections工具类的常用方法,包括排序、查找、同步、不可变集合等。分类说明其使用方式和注意事项。

回答

小字辈

排序和搜索

  • sort(List):自然排序
  • sort(List, Comparator):指定排序
  • binarySearch(List, key):二分查找(需要先排序)
  • reverse(List):反转
  • shuffle(List):随机打乱
  • rotate(List, distance):旋转

最值操作

  • max(Collection)、min(Collection)
  • max(Collection, Comparator)、min(Collection, Comparator)

同步包装(返回线程安全视图):

  • synchronizedList(list)
  • synchronizedMap(map)
  • synchronizedSet(set) 注意:迭代时仍需外部同步

不可变集合(Java 9前):

  • unmodifiableList(list)
  • unmodifiableMap(map)
  • singletonList(o)、singletonMap(k,v)
  • emptyList()、emptyMap()

其他

  • frequency(Collection, Object):元素出现次数
  • disjoint(Collection, Collection):是否不相交
  • addAll(Collection, T...):批量添加
  • replaceAll(List, oldVal, newVal)

注意:Collections.sort()对ArrayList性能好(Timsort),对LinkedList性能差(需复制到数组排序)。