程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

100个Java工具类之8:java.util包下的Collections

balukai 2025-01-07 10:51:56 文章精选 7 ℃

该系列为java工具类系列,主要展示100个常用的java工具类。

本系列工具类的核心目的主要有三点:

1,以便他用:提供可用的Java工具类,方便大家使用,避免重复造轮子

2,个人记录:作为个人记录,同时督促自己学习总结

3,为初学者提供思路,相互交流,共同进步

当然,很多细节部分经不起推敲,如存在部分代码不规范、注释不详细、格式不统一等问题,还望阅读者多多包涵,多提意见。

本文目录:

本文主要讲述,java.util包下的Collections类,该类主要用于操作集合或者返回集合。

一、排序

List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Collections.sort(list);//升序
System.out.println(list);
Collections.reverse(list);//降序
System.out.println(list);
执行结果:
[1, 2, 3]
[3, 2, 1]

二、获取最大或最小值

List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Integer max = Collections.max(list);//获取最大值
Integer min = Collections.min(list);//获取最小值
System.out.println(max);
System.out.println(min);
执行结果:
3
1

三、转换线程安全集合

java中的很多集合(如:ArrayList、LinkedList、HashMap、HashSet)是线程不安全的。Collections的synchronizedxxx方法,可以将不安全的集合转换成线程安全的集合。

其底层是使用synchronized加锁。

  List<Integer> list = new ArrayList<>();
  list.add(2);
  list.add(1);
  list.add(3);
  List<Integer> integers = Collections.synchronizedList(list);//将ArrayList转换成线程安全集合
  System.out.println(integers);

四、二分查找

List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
int i = Collections.binarySearch(list, 3);//二分查找
System.out.println(i);
执行结果:
2


本文仅供个人记录,如有任何问题可在评论区提问,欢迎大家交流。

编辑人:程序幻境

码字不易,不喜勿踩

最近发表
标签列表