• java Collections基本概念和常用方法


    Collections是一个类 他在java的util包下 所以使用它是需要导包的
    在这里插入图片描述
    Collections是一个静态方法的集合类 他里面的方法都是静态的
    Collections中的方法有很多 这里我们主要看三个
    在这里插入图片描述
    Collections的方法都是针对list集合的 所以 我们先引入List的依赖

    import java.util.ArrayList;
    import java.util.List;
    
    • 1
    • 2

    然后编写代码

    public static void main(String args[])  {
        List<Integer> list = new ArrayList<Integer>();
        list.add(30);
        list.add(18);
        list.add(21);
        list.add(1);
        list.add(25);
        System.out.println(list);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行结果如下
    在这里插入图片描述
    这里可以看到 我们创建了 通过ArrayList实现了list集合 声明一个Integer数字类型的集合

    然后我们随便的往里添加了几条数据

    输出之后发现都是按照添加顺序输出的

    然后我们引入 Collections

    import java.util.Collections;
    
    • 1

    将刚才写的System.out.println(list);换成

    Collections.sort(list);
    System.out.println(list);
    
    • 1
    • 2

    运行结果如下
    在这里插入图片描述
    可以看到 这就成了一个升序排序的集合了

    然后我们将 Collections.sort(list); 改成

    Collections.reverse(list);
    
    • 1

    运行结果如下
    在这里插入图片描述
    和我们的添加顺序正好反过来了 就是让现在的顺序整个反过来

    这就可能有人想问了 那如果我想倒序呢?
    看代码

    public static void main(String args[])  {
        List<Integer> list = new ArrayList<Integer>();
        list.add(30);
        list.add(18);
        list.add(21);
        list.add(1);
        list.add(25);
        Collections.sort(list);
        Collections.reverse(list);
        System.out.println(list);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果如下
    在这里插入图片描述
    都有升序和反转了 还想不出倒序吗?
    先升序排好 在用反转反过来 升序反过来 不就是倒序了吗?

    确实在工作中我们更多都就是要灵活应用技术特性 组合完成功能开发

    最后这个 shuffle方法是个奇葩

    我们将
    Collections.sort(list);
    Collections.reverse(list);
    换成
    Collections.shuffle(list);

    这个你们就直接去尝试吧
    Collections.shuffle 就是随机排序 你执行一次他就随机一次 每一次都是不一样的 怎么排序主要看运气

    shuffle方法就可以用来模拟斗地主的发牌操作 都是随机的

  • 相关阅读:
    C#泛型
    ADC 抗体偶联药物通过连接子 linker 连接而成
    包管理工具之npm也慌了?
    [st表][贪心]Loop 2022杭电多校第6场 1012
    Ubuntu1804.5安装后的基本配置
    关于Object上的一些方法
    qt 加载字体 c++
    动态规划/背包问题总结/小结——01背包、完全背包
    ubuntu18.04平台上基于xenomai3.2对Linux内核的实时化改造
    本地项目如何设置https——2024-04-19
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/126735377