概述
Collections是集合类的工具类
常用方法
- addAll(collection,array):将array元素都添加到collection中,array是可变参数
- copy(list1,list2):将list2中的元素复制到list1中
- disjoint(collection1,collection2):如果两个集合没有相同的元素,那么返回true
- indexOfSubList(list1,list2):返回list2在list1中第一次出现的索引位置,如果list2不是list1的子集合,返回-1
- max(collection):返回集合中最大的元素。元素要实现Comparable接口,Java中实现Comparable这个接口的类都可以排序,没事实现的不能默认排序,如果想排序也可以用Comparator接口,比较器
- min(collection):返回集合中最小的元素
- replaceAll(list, oldVal, newVal):将list中所有的oldVal替换成newVal,如果list中没有oldVal则返回-1
- reverse(list):将list倒序
- shuffle(list):打乱list顺序
- sort(list):对list排序,原理参考Arrays
- sort(List list, Comparator c):根据指定
Comparator产生的顺序对List集合元素进行排序 - swap(List list, int i, int j):将指定 List 集合中的 i 处元素和 j 处元素进行交换。
- rotate(List list, int distance):当 distance 为正数时,将 list 集合的后 distance 个元素“整体”移到前面;当 distance 为负数时,将 list 集合的前 distance 个元素“整体”移到后面。该方法不会改变集合的长度。
- singleton():详见 链接
例子
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//原来写法
//list.add(12);
//list.add(14);
//list.add(15);
//list.add(1000);
//采用工具类 完成 往集合中添加元素
Collections.addAll(list, 5, 222, 1,2);
System.out.println(list);
//排序方法
Collections.sort(list);
System.out.println(list);
}
}
结果:
[5, 222, 1, 2]
[1, 2, 5, 222]
代码演示之后 ,发现我们的集合按照顺序进行了排列,可是这样的顺序是采用默认的顺序,如果想要指定顺序那该怎么办呢?
我们发现还有个方法没有讲,public static <T> void sort(List<T> list,Comparator<? super T> ):将集合中元素按照指定规则排序。接下来讲解一下指定规则的排列。