我们知道Collection是集合的父接口,那么Collections呢?它是什么呢,它与Collection有什么关系吗?
Collection 和 Collections 有什么关系:
Collection 是集合体系的最顶层,包含了集合体系的共性
Colelctions 是一个工具类,不需要,也不能创建对象,它的方法全是static修饰的,用来操作Collection
由此,我们得知,Collections是操作集合对象的工具类,那它有哪些方法呢,我们现在一起来看一下:
- static int binarySearch(List list , T key):二分查找,查找制定元素在指定列表中的索引位置
前提条件:数据要有顺序。不能是Set,Set无序,参数只能是List
private static void method() {
//创建List对象
List<Integer> list = new ArrayList<Integer>();
//添加元素
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
//查找list列表中值为4的元素,返回该元素所在的索引
int index = Collections.binarySearch(list, 4);
System.out.println(index);
//output:3
}
- static void copy(List dest , List src):将源列表src中的数据覆盖到目标列表dest
条件:dest的长度至少等于src的长度
private static void method2() {
List<String> src = new ArrayList<String>();
src.add("hello");
src.add("Java");
src.add("Hadoop");
List<String> dest = new ArrayList<String>();
dest.add("java");
dest.add("java");
dest.add("java");
dest.add("java");
Collections.copy(dest, src);
System.out.println(dest);
//output:[hello, Java, Hadoop, java]
}
- static void fill(List list, Object obj):使用指定对象obj填充指定列表list中的所有元素
private static void method3() {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("Java");
list.add("Hadoop");
System.out.println(list);
//output:[hello, Java, Hadoop]
Collections.fill(list, "java");
System.out.println(list);
//output:[java, java, java]
}
- static void reverse(List list):反转
private static void method4() {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("Java");
list.add("Hadoop");
System.out.println(list);
//output:[hello, Java, Hadoop]
Collections.reverse(list);
System.out.println(list);
//output:[Hadoop, Java, hello]
}
- static void shuffle(List list):随机置换
private static void method4() {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("Java");
list.add("Hadoop");
System.out.println(list);
//output:[hello, Java, Hadoop]
Collections.shuffle(list);
System.out.println(list);
//output:[Java, Hadoop, hello]
Collections.shuffle(list);
System.out.println(list);
//output:[hello, Hadoop, Java]
}
- static void sort(List list) :按照列表中元素的自然顺序排序
private static void method5() {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
list.add(5);
list.add(4);
list.add(2);
Collections.sort(list);
System.out.println(list);
//output:[1, 2, 3, 4, 5]
}
- static void swap(List list ,int i, int j):将指定列表的两个索引进行位置互换
private static void method6() {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
Collections.swap(list, 0, 1);
System.out.println(list);
//output:[3, 1]
}
好了,关于Collections工具类的主要方法就是这些,也是非常的简单。