• 非零基础自学Java (老师:韩顺平) 第14章 集合 14.17 Collections 工具类


    非零基础自学Java (老师:韩顺平)

    ✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】

    第14章 集合

    14.17 Collections 工具类
    14.17.1 Collections 工具类介绍

    在这里插入图片描述

    • Collections是一个操作Set、List和 Map等集合的工具类
    • Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作
    14.17.2 排序操作(都是静态方法)
    • reverse(List):反转 List 中元素的顺序
    • shuffle(List):对List 集合元素进行随机排序
    • sort(List):根据元素的自然顺序对指定List集合元素按升序排序
    • sort(List, Comparator):根据指定的Comparator产生的顺序对 List集合元素进行排序
    • swap(List, int, int):将指定 list集合中的i处元素和j处元素进行交换

    【举个栗子】

    package com.dingjiaxiong.collections_;
    
    import java.lang.management.LockInfo;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    /**
     * ClassName: Collections_
     * date: 2022/9/5 21:38
     *
     * @author DingJiaxiong
     */
    
    @SuppressWarnings({"all"})
    public class Collections_ {
        public static void main(String[] args) {
    
            //创建ArrayList 集合,用于测试
            List list = new ArrayList();
            list.add("tom");
            list.add("smith");
            list.add("king");
            list.add("milan");
            list.add("tom");
    
            System.out.println("list = " + list);
    
            System.out.println("反转");
            //reverse(List):反转 List 中元素的顺序
            Collections.reverse(list);
            System.out.println("list = " + list);
    
            System.out.println("随机排序");
    //        shuffle(List):对 List 集合元素进行随机排序
            for (int i = 0; i < 5; i++) {
                Collections.shuffle(list);
                System.out.println("list = " + list);
            }
    
            //sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
            Collections.sort(list);
            System.out.println("自然排序后:");
            System.out.println("list = " + list);
    
            //按照字符串的长度大小排序
            Collections.sort(list, new Comparator() {
                @Override
                public int compare(Object o1, Object o2) {
                    return ((String) o1).length() - ((String) o2).length();
                }
            });
    
            System.out.println("字符串长度大小排序后:");
            System.out.println("list = " + list);
    
    //        swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换
    
            Collections.swap(list , 0 ,3);
            System.out.println("使用swap交换后");
            System.out.println("list = " + list);
    
            Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
            System.out.println("自然顺序最大元素 = " + Collections.max(list));
    
            Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素
            比如,返回长度最大的元素
    
            Object maxObject  = Collections.max(list, new Comparator() {
                @Override
                public int compare(Object o1, Object o2) {
                    return ((String)o1).length() - ((String) o2).length();
                }
            });
    
            System.out.println("长度最大的元素 = " + maxObject);
    
            //int frequency(Collection,Object):返回指定集合中指定元素的出现次数
            System.out.println("tom 出现的次数 " + Collections.frequency(list,"tom"));
    
            void copy(List dest,List src):将 src 中的内容复制到 dest
            ArrayList dest = new ArrayList();
            为了完成一个完整拷贝,需要先给 dest 赋值,大小和 list.size() 一样
            for (int i = 0; i < list.size(); i++) {
                dest.add("");
            }
    
            //拷贝
            Collections.copy(dest , list);
            System.out.println("dest = " + dest);
    
            //boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值
            //如果 list 中,有 tom 就替换成 汤姆
            Collections.replaceAll(list , "tom" ,"汤姆");
    
            System.out.println("list 替换后 = " + list);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99

    运行结果

    在这里插入图片描述

    14.17.3 排序操作(都是静态方法)

    14.17.4 查找、替换
    • Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
    • Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素
    • Object min(Collection)
    • Object min(Collection,Comparator)
    • int frequency(Collection,Object):返回指定集合中指定元素的出现次数
    • void copy(List dest,List src):将src中的内容复制到dest中
    • boolean replaceAll(List list,Object oldVal, Object newVal):使用新值替换List 对象的所有旧值
  • 相关阅读:
    根据以下电路图,补全STM32F103RCT6的IO口初始化程序
    List集合
    基于YOLOv3的口罩佩戴检测
    全新 UI 震撼来袭!ng-matero v18 正式发布!
    web基础和http协议
    MySQL面试题(总结最全面的面试题)
    解决git action定时任务执行失败的方法
    设f(x)=∑x^n/n^2,证明f(x)+f(1-x)+lnxln(1-x)=∑1/n^2
    学习记录684@vue 统计用户页面停留时间
    【前端】保姆级的CSS简介
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126965256