public class Application {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        arrayList.add("jack");
        arrayList.add("make");
        arrayList.add("make");
        arrayList.add("holi");
        arrayList.add("kaili");
        System.out.println(arrayList);
        //以下都是使用的静态方法
       //reverse(List):反转List中元素的顺序
        Collections.reverse(arrayList);
        System.out.println(arrayList);
        //shuffle(List):对List集合元素进行随机排序
        Collections.shuffle(arrayList);
        System.out.println(arrayList);
        //sort(List):根据元素的自然顺序指定排序
        Collections.sort(arrayList);
        System.out.println(arrayList);
        //sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素
        Collections.sort(arrayList, new Comparator(){
            @Override
            public int compare(Object o1, Object o2) {
                return ((String)o1).length()-((String)o2).length();
            }
        });
        System.out.println(arrayList);
        //swap(List, int, int):将指定list集合的i处的元素和j处的元素进行交换(i和j必须在指定范围内)
        Collections.swap(arrayList,0,2);
        System.out.println(arrayList);
        //Object max(Collection):根据元素的自然顺序,返回给定集合的最大元素
        System.out.println(Collections.max(arrayList));
        //Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合的最大元素
        System.out.println(Collections.max(arrayList, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return  ((String)o1).length()-((String)o2).length();
            }
        }));
        //Object min(Collection)
        //略
        //Object min(Collection,Comparator)
        //略
        //int frequency(Collection, Comparator):返回指定集合中指定元素出现的次数
        System.out.println(Collections.frequency(arrayList,"make"));
        //void copy(List dest,List src):将src中的内容复制到dest中
        ArrayList dest = new ArrayList();
        for (int i=0; i<arrayList.size(); i++){
           dest.add("");
        }
        Collections.copy(dest,arrayList);
        System.out.println(dest);
        //boolean replaceAll(List list, Object oldVal, Object newVal):使用新值替换List对象的旧值
        Collections.replaceAll(arrayList,"make","lk");
        System.out.println(arrayList);
    }
}