Collections工具类
Collections工具类
1.排序操作(主要针对list接口提供)
reverse(List list): 反转指定集合元素的顺序
shuffle(List,list): 对List里的元素进行随机排序
sort(List list): 对list中的元素根据自然升序排序
sort(List list,Comparator c): 自定义排序规则
swap(List list,int i,int j):将指定List集合中i处元素和j处元素进行交换
rotate(List list,int distance): 将所有元素右移指定长度,如果distance等于size结果不变
2.查找和替换
binarySearch(List list,Object key):使用二分搜索法,以获得指定对象在List中的索引,前提是集合已经排序好
max(Collection c) :返回最大元素
max(Collecton c,Comparator c1):根据自定义比较器,返回最大元素
min(Collection c) :返回最小元素
min(Collecton c,Comparator c1):根据自定义比较器,返回最小元素
fill(List list ,Object obj):填充集合
frequency(Collecton c,Object o):返回指定集合中指定对象出现的次数
replaceAll(List list,Object old, Object new): 替换
3.同步控制
synchronizedSet、synchronizedSortedSet、synchronizedList、synchronizedMap、synchronizedSortedMap
4.设置不可变集合
emptyXxx():返回一个空的不可变的集合对象
singletonXxx():返回一个只包含指定对象的,不可变的集合对象
unmodifiableXxx():返回指定集合对象的不可变视图
5.其他
disjoint(Collection<?> c1, Collecton<?> c2):如果两个指定collection中没有相同元素,则返回true
addAll(Collecton<? super T>c,T…a )一种方便的方式,将所有指定元素添加到指定collection中
Comparator reverseOrder(Comparator cmp):返回一个比较器,它强行反转指定比较器的顺序,如果指定比较器为null,则此方法等同reverseOrder() (换句话说,它返回一个比较器,该比较器强行反转实现Comparable接口哪些对象collection上的自然顺序)
public class Test1 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("jack");
list.add("lili");
list.add("tom");
list.add("tom");
//1. 排序操作(主要针对list相关)
//反转
// Collections.reverse(list);
// 随机排序
//Collections.shuffle(list);
// 自然升序排列(自定义对象的话需要传入比较器)
//Collections.sort(list);
// 将指定list集合中i处元素和j处元素进行交换
// Collections.swap(list,1,2);
// 将所有元素向右移指定长度
//Collections.rotate(list,2);
// 2.查找和替换类(主要针对Collection接口相关)
// 获得对象在list中的索引,前提是集合已经排序
//int tom = Collections.binarySearch(list, "tom");
//System.out.println(tom);
//3.返回最大元素(自定义对象的话需要传比较器)
// String max = Collections.max(list);
// System.out.println(max);
//4 返回最小元素(同上)
// String min = Collections.min(list);
// System.out.println(min);
// 5.填充
//Collections.fill(list,"b");
// 求集合当中某一个值出现的次数
//System.out.println(Collections.frequency(list,"tom"));
//替换元素
// boolean b = Collections.replaceAll(list, "tom", "bb");
// System.out.println(b);
// 构造线程安全的集合
//List<String> synchronizedList = Collections.synchronizedList(list);
// 返回一个空的集合
//List<String> list1 = Collections.emptyList();
// 比较两个集合有没有相同元素
//Collections.disjoint(list,list);
// 倒序
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!