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);
复制代码 输出后:- 原始顺序:[seven1, seven2, seven3, seven4, seven5]
- 反转后:[seven5, seven4, seven3, seven2, seven1]
- 洗牌后:[seven5, seven4, seven1, seven3, seven2]
- 自然升序后:[seven1, seven2, seven3, seven4, seven5]
- 交换后:[seven1, seven2, seven5, seven4, seven3]
复制代码 查找利用
- 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
- 填充后的结果:[seven6, seven6, seven6, seven6, seven6]
复制代码 填充聚集
<ul>fill(List list, Object obj):利用指定对象填充
addAll(Collection |