JAVA Collections

概述

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> ):将集合中元素按照指定规则排序。接下来讲解一下指定规则的排列。


原文出处:/show_1EF4sNVjRhVC.html