基本方法的使用:
代码如下
package com.demo.main;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
//Collections工具类的一些基本方法。
/*
* 1.sort(List<T> list, Comparator<? super T> c):排序方法。
* 可以排序实现了Comparator的类型,如String。
*/
ArrayList<String> list = new ArrayList<>() ;
list.add("a");
list.add("f");
list.add("c");
list.add("d");
list.add("g");
Collections.sort(list);
System.out.println(list);//[a, c, d, f, g]
/*
* 2.binarySearch(List<? extends Comparable<? super T>> list, T key) :使用二叉搜索算法搜索指定对象的指定列表。
* List<? extends Comparable<? super T> List中的类实现了Comparable,可以使用compare()方法排序,所以使用二分查找的集合最好是有序的。
*/
//list 使用 sort()排序之后变成了有序的了。
int index1 = Collections.binarySearch(list, "c");
System.out.println(index1);// 1 ;
int index2 = Collections.binarySearch(list,"b");
/*
* 因为Collections 与 Arrays 中的 binarySearch 是 相同的 ,在Arrays中,用二分查找查找集合中不存在的元素,最后返回的索引index的值为:-(插入位置)-1 。
* b的插入位置是在 a 后面 c的前面,所以插入位置 是 index=1 的位置,但是集合中没有b,所以返回的值为:-1-1 = -2 ,返回 -2 。
*/
//3.max(list)方法:找出集合中最大的元素 。
ArrayList<String> list1 = new ArrayList<>() ;
list1.add("a");
list1.add("f");
list1.add("c");
list1.add("d");
list1.add("g");
String maxList = Collections.max(list1);
System.out.println(maxList);//g
//4.static void reverse(List<?> list) :反转指定列表中元素的顺序。
//list1 = [a f c d g]。
Collections.reverse(list1);
System.out.println(list1);//[g, d, c, f, a]
//5.static void shuffle(List<?> list) : 随机排序 。 就等于洗牌,常常用做洗扑克牌。
ArrayList<String> list2 = new ArrayList<>() ;
list2.add("a");
list2.add("g");
list2.add("d");
list2.add("c");
list2.add("f");
Collections.shuffle(list2);
System.out.println(list2);//每一次随机生成的集合元素顺序都不一样。
}
}