本文主要讲述,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