java和-- Collections工具类

Collections工具类

package cn.usts.edu.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * @author :fly
 * @description: 集合工具类
 * @date :2021/11/3 16:20
 */
public class CollectionsDemo {

    public static void main(String[] args) {
        ArrayList al = new ArrayList();
        al.add("tom");
        al.add("tom");
        al.add("jack");
        al.add("al");
        al.add("swallow");

        System.out.println("正常顺序");
        System.out.println(al);

        // 位置交换
        System.out.println("=========0,最后 位置交换=======");
        Collections.swap(al,0,al.size()-1);// 0,最后 位置交换
        System.out.println(al);

        System.out.println("=========逆序=======");
        Collections.reverse(al);
        System.out.println("逆序:"+al);

        // 随机排序
        System.out.println("=========随机排序=======");
        Collections.shuffle(al);
        System.out.println(al);

        // 自然顺序
        System.out.println("=========自然顺序=======");
        Collections.sort(al);
        System.out.println(al);


        // 自定义排序
        System.out.println("=========自定义排序(字符大到小)=======");
        Collections.sort(al, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                if(o1 instanceof String) { // 校验是否是String
                    return ((String) o2).compareTo((String) o1);
                }
                return 0;
            }
        });
        System.out.println(al);


        System.out.println("=========自定义排序(长度大到小)=======");
        Collections.sort(al, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o2).length() - (((String) o1).length());
            }
        });
        System.out.println(al);


        // 自然排序最大值
        System.out.println("=========自定义(长度最大)=======");
        Object max = Collections.max(al, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).length() - (((String) o2).length());
            }
        });
        System.out.println(max);

        // 自定义最大值
        System.out.println("=========自然排序最大值=======");
        Comparable max1 = Collections.max(al);
        System.out.println(max1);


        // 同理max(),自定义也同理
//        Collections.min();


        // 出现次数
        System.out.println("=========出现次数=======");
        int tomTimes = Collections.frequency(al, "tom");
        System.out.println("tom出现:"+tomTimes+"次");


        // 复制
        System.out.println("=========复制数组=======");
        ArrayList bal = new ArrayList();
        for (Object o : al) {
            bal.add(""); // 新的数组默认为零,不填充空的数据,回报数组Index越界
        }
        Collections.copy(bal,al);
        System.out.println(bal);

        //替换
        System.out.println("=========替换元素=======");
        Collections.replaceAll(al,"tom","汤姆");
        System.out.println(al);
    }

}

java和-- Collections工具类

上一篇:Java集合框架-Collections工具类、集合框架总结


下一篇:List排序