Java重修笔记 第四十九天 Collections 工具类

  • Collections 工具类

1. public static void reverse(List<?> list)

        反转集合中元素的顺序

2. public static void shuffle(List<?> list)

        将集合里的元素顺序打乱

3. public static <T extends Comparable<? super T>> void sort(List<T> list)

        将集合自然排序,该 List 集合元素必须实现Comparable接口

4. public static <T> void sort(List<T> list, Comparator<? super T> c)

        根据自定义的比较器对 List 集合进行比较

5. public static void swap(List<?> list, int i, int j)

        对制定元素进行交换

6. public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

        根据自然排序返回该集合中的最大值,集合中的所有元素必须实现Comparable接口

7. public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)

        根据比较器排序返回该集合中的最大值

8. public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)

        根据自然排序返回该集合中的最小值,集合中的所有元素必须实现Comparable接口

9. public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)

        根据比较器排序返回该集合中的最小值

10. public static int frequency(Collection<?> c, Object o)

        返回指定集合中,该元素出现的次数

11. public static <T> void copy(List<? super T> dest, List<? extends T> src)

        将 src 的内容拷贝到 dest 中

12. public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)

        将目标 List 集合中,指定字符串替换为新字符串

public class collection02 {
    @SuppressWarnings("all")
    public static void main(String[] args) {
        ArrayList arrayList1 = new ArrayList();

        arrayList1.add("tom");
        arrayList1.add("smith");
        arrayList1.add("king");
        arrayList1.add("milan");

        System.out.println("原集合 = " + arrayList1);

        // 数组翻转
        Collections.reverse(arrayList1);
        System.out.println("reverse数组翻转: " + arrayList1);

        // 随机排序
        Collections.shuffle(arrayList1);
        System.out.println("shuffle随机排序: " + arrayList1);

        // 自然排序
        Collections.sort(arrayList1);
        System.out.println("sort自然排序: " + arrayList1);

        // 比较器排序
        Collections.sort(arrayList1, new Comparator<Object>() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String)o1).length() - ((String)o2).length();
            }
        });
        System.out.println("sort比较器排序: " + arrayList1);

        // 交换元素
        Collections.swap(arrayList1,0,1);
        System.out.println("swap交换元素: " + arrayList1);

        // 根据自然排序取最大值
        System.out.println("max取自然排序最大值: " + Collections.max(arrayList1));

        // 根据比较器取最大值
        System.out.println("max取长度最大值: " + Collections.max(arrayList1, new Comparator<Object>() {
            @Override
            public int compare(Object o1, Object o2) {
                if (((String)o1).length() - ((String)o2).length() == 0) {
                    return ((String)o1).compareTo((String)o2);
                } else {
                    return ((String)o1).length() - ((String)o2).length();
                }

            }
        }));

        // 统计元素出现的次数
        System.out.println("frequency统计元素出现的次数: " + Collections.frequency(arrayList1,"tom"));

        // 拷贝集合
        ArrayList arrayList2 = new ArrayList();
        for (int i = 0; i < arrayList1.size(); i++) {
            arrayList2.add("");
        }
        Collections.copy(arrayList2,arrayList1);
        System.out.println("copy将后面的复制给前面的: " + arrayList2);

        // 替换
        Collections.replaceAll(arrayList1,"tom","汤姆");
        System.out.println("replaceAll将目标 List 集合中,指定字符串替换为新字符串: " + arrayList1);
    }
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值