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); } }