概述:与Collection接口不同的是,Collection接口是集合中的一个顶级接口;而Collections是集合中的工具类,主要包含对集合的各种操作,可直接通过Collections调用
1.addAll(Collections<? super T> c,T...elements) 只服务于单列集合的一种方法,增加元素于集合的末尾
T...elements是定义可变参数的一种语法,本质相当于一个数组,可以传进多个T型参数,适用于不知道需要传入多少个参数时,一个参数列表只能有一个,且必须放在参数列表最末尾。
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Collections.addAll(list,4,2,3,1,5,1);
System.out.println(list);
}
}
2.sort()方法 对集合中的元素进行一个排序
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Collections.addAll(list,4,2,3,1,5,1);
System.out.println(list);
List<Integer> list1=new ArrayList<>();
Collections.sort(list);
//对集合进行一个排序
System.out.println(list);
}
}
也通过定义一个匿名的内部类可以自定义一种排序方式
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Collections.addAll(list,4,2,3,1,5,1);
System.out.println(list);
List<Integer> list1=new ArrayList<>();
//也可以自定义一种排序规则,定义一个匿名的内部类
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2;
//逆序排列集合中的元素
}
});
System.out.println(list);
}
}
3.swap()方法 将下标为不同的两个位置进行互换
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Collections.addAll(list,4,2,3,1,5,1);
System.out.println(list);
List<Integer> list1=new ArrayList<>();
Collections.swap(list,0,3);
//将集合中第0个位置和第三个位置处元素交换
System.out.println(list);
}
}
4.binarysearch()方法 二分查找的前提是集合中的元素是有序的
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Collections.addAll(list,4,2,3,1,5,1);
System.out.println(list);
List<Integer> list1=new ArrayList<>();
System.out.println(Collections.binarySearch(list, 4));
//二分查找时,集合中的元素一定是按顺序排列。否则返回值为负
System.out.println(list);
}
}
5.copy(list1,list2) 将list2的元素复制到list1中,依次替换掉list1中原来的元素
import java.util.*;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list1=new ArrayList<>();
Collections.addAll(list1,4,2,3,1,5,1);
System.out.println(list1);
List<Integer> list2=new ArrayList<>();
list2.add(6);
list2.add(9);
System.out.println(list1);
Collections.copy(list1,list2);
System.out.println(list1);
}
}
//输出结果
[3, 1, 2, 1, 4, 5]
[6, 9, 2, 1, 4, 5]
6.emptyLIst()方法 返回一个空集合,但集合并无法使用,无法添加元素,作用为避免在判断上出现空集合
package collections类;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
public class CollectionsDome {
public static void main(String[] args) {
List<Integer> list3=Collections.emptyList();
//避免在判断上出现空指针
System.out.println(list3);
}
}