瞪皱炕 发表于 2025-6-1 20:39:53

解析Collections工具类主要功能

Collections 是 JDK 提供的一个工具类,位于 java.util 包下,提供了一系列的静态方法,方便我们对集合进行各种操作,算是集合框架的一个大管家。
大致看一下方法名和参数就能知道这个方法是干嘛的:

排序操作


[*]reverse(List list):反转顺序
[*]shuffle(List list):洗牌,将顺序打乱
[*]sort(List list):自然升序
[*]sort(List list, Comparator c):按照自定义的比较器排序
[*]swap(List list, int i, int j):将 i 和 j 位置的元素交换位置
来看例子:
List<String> list = new ArrayList<>();
list.add("seven1");
list.add("seven2");
list.add("seven3");
list.add("seven4");
list.add("seven5");

System.out.println("原始顺序:" + list);

// 反转
Collections.reverse(list);
System.out.println("反转后:" + list);

// 洗牌
Collections.shuffle(list);
System.out.println("洗牌后:" + list);

// 自然升序
Collections.sort(list);
System.out.println("自然升序后:" + list);

// 交换
Collections.swap(list, 2,4);
System.out.println("交换后:" + list);输出后:
原始顺序:
反转后:
洗牌后:
自然升序后:
交换后:查找操作


[*]binarySearch(List list, Object key):二分查找法,前提是 List 已经排序过了
[*]max(Collection coll):返回最大元素
[*]max(Collection coll, Comparator comp):根据自定义比较器,返回最大元素
[*]min(Collection coll):返回最小元素
[*]min(Collection coll, Comparator comp):根据自定义比较器,返回最小元素
[*]frequency(Collection c, Object o):返回指定对象出现的次数
来看例子:
System.out.println("最大元素:" + Collections.max(list));
System.out.println("最小元素:" + Collections.min(list));
System.out.println("出现的次数:" + Collections.frequency(list, "seven1"));

// 没有排序直接调用二分查找,结果是不确定的
System.out.println("排序前的二分查找结果:" + Collections.binarySearch(list, "seven2"));
Collections.sort(list);
// 排序后,查找结果和预期一致
System.out.println("排序后的二分查找结果:" + Collections.binarySearch(list, "seven2"));输出后:
最大元素:seven6
最小元素:seven2
出现的次数:0
排序前的二分查找结果:-1
排序后的二分查找结果:0
填充后的结果:填充集合

<ul>fill(List list, Object obj):使用指定对象填充
addAll(Collection
页: [1]
查看完整版本: 解析Collections工具类主要功能