java容器工具类Collections常用方法
/**
* 测试Collections工具类的常用方法
*/
public class TestCollections {
public static void main(String[] args) {
List<String> al1 = new ArrayList<>();
al1.add("a");
al1.add("b");
al1.add("c");
al1.add("d");
System.out.println(al1+"[a, b, c, d]");
Collections.shuffle(al1);
//shuffle洗牌 .shuffle(List)将List随机排序/打乱顺序
System.out.println(al1);
//结果为[b, a, c, d] .shuffle()每次结果不同
Collections.sort(al1);
//.sort()排序方法的使用同Arrays.sort() 需要元素自身实现排序规则Comparable或指定比较器Comparator
//Collections.sort(List)对List进行排序时直接返回list.sort(null) List.sort()为List接口的默认方法,所有List实现类可以直接.sort()进行排序
System.out.println(al1+"[a, b, c, d]");
Collections.shuffle(al1);
al1.sort(null);
//.sort方法无返回值,不能直接套print()打印,参数为比较器,传null即不设比较器,需元素自身实现比较规则
System.out.println(al1+"[a, b, c, d]");
Collections.reverse(al1);
//reverse颠倒 .reverse()方法将容器逆序排列
System.out.println(al1);
//结果为[d, c, b, a]
al1.sort(null);
System.out.println(Collections.binarySearch(al1,"e"));
//.binarySearch()二分法查找,用法同Arrays.binarySearch() 需要先对容器进行排序再使用 找到返回index没找到返回负数
Collections.fill(al1,"z");
//.fill(List,T obj)泛型方法 将容器中的元素全部变为obj
System.out.println(al1);
//结果为[z, z, z, z] ArrayList默认初始化容量为10 但.fill()只对size填充,只把所有元素填为obj,容器中未使用的位置依然为null
}
}