当前位置: 首页 > article >正文

Java 可变参数、Collections工具类

一. 可变参数

        1. 可变参数:就是一种特殊形参,定义方法、构造器的形参列表里,格式:数据类型...参数名称

        2. 特点:可以不传数据;可以穿一个或多个数据;也可以传一个数组

        3. 好处:常常用来灵活的接受数据

        4. 一个形参类表中,只能有一个形参列表;可变参数必须放在形参列表的最后面

public static void main(String[] args) {
        //可变参数

        show();//不传
        show(10);//传一个数据
        show(10, 30, 60);//传多个数据
        show(new int[]{10, 50, 90});//传一个数组

    }

    // 1. 一个形参类表中,只能有一个形参列表
    // 2. 可变参数必须放在形参列表的最后面
    public static void show(int ...nums){
        System.out.println(Arrays.toString(nums));
}

二. Collections工具类

        1. Collections是一个操作集合的工具类

        2. Collections常用的静态方法

方法名称
public static <T> boolean addAll(Collection<T super T> c, T...elements)给集合批量添加元素
public statilc void shuffle(List<?> list)打乱list集合中的元素顺序
public static <T> void sort(List<T> list)对list集合中的元素进行升序排序(可以直接对自定义类型的List集合进行排序,但自定义类型必须实现Comparable接口,指定规则
)
public ststic <T> void sort(List<T> list, Comparator<? super T> c)对list集合中的元素,按照比较器中指定的规则进行排序
public static void main(String[] args) {
        //Collections

        //1. public static <T> boolean addAll(Collection<T super T> c, T... elements)	给集合批量添加元素
        List<String> list = new ArrayList<String>();
        Collections.addAll(list, "卡莎", "泰坦", "霞", "洛");
        System.out.println(list);//[卡莎, 泰坦, 霞, 洛]

        //2. public statilc void shuffle(List<?> list)	打乱list集合中的元素顺序
        Collections.shuffle(list);//
        System.out.println(list);//[泰坦, 卡莎, 洛, 霞]

        //3. public static <T> void sort(List<T> list)	对list集合中的元素进行升序排序
        Collections.sort(list);
        System.out.println(list);//[卡莎, 泰坦, 洛, 霞]

        //4. public ststic <T> void sort(List<T> list, Comparator<? super T> c) 对list集合中的元素,按照比较器中指定的规则进行排序
       Student student = new Student("卡莎", 18, 99);
       Student student1 = new Student("泰坦", 19, 93);
       Student student2 = new Student("伊泽", 16, 98);
       Student student3 = new Student("璐璐", 16, 98);
       List<Student>  list1 =  new ArrayList<>();
       Collections.addAll(list1, student, student1, student2, student3);
       //1. Student让该类对象实现Comparable接口 重写compareTo方法
        Collections.sort(list1);
        System.out.println(list1);

        //2. public ststic <T> void sort(List<T> list, Comparator<? super T> c) 对list集合中的元素,按照比较器中指定的规则进行排序
        Collections.sort(list1, ( o1,  o2)-> o1.getAge() - o2.getAge());
        System.out.println(list1);
}

http://www.kler.cn/a/466176.html

相关文章:

  • 【机器学习:一、机器学习简介】
  • 4进货+后台事务
  • 在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识
  • 单片机-串转并-74HC595芯片
  • 麒麟服务器安装kafka--亲测
  • FastAPI 路由与请求处理机制
  • 【51单片机零基础-chapter2:灯独立点亮,自定义点亮,跑马灯点亮,函数】
  • 每日一学——配置管理工具(Chef)
  • K8s高可用集群之Kubernetes集群管理平台、命令补全工具、资源监控工具部署、常用命令
  • 如何验证imap是否生效
  • 深入理解 Android 中的 ActivityInfo
  • 【Java基础】03.Java运算符
  • Linux 多线程(理论+实践)
  • Eplan 布局图中的宏/设备/安装板比例缩放
  • Qt qtcreator配置cmake
  • 【论文阅读】SCGC : Self-supervised contrastive graph clustering
  • 深度学习之计算机视觉相关数据集
  • Flink源码解析之:Flink On Yarn模式任务提交部署过程解析
  • 实现一个通用的树形结构构建工具
  • 电脑软件报错提示:找不到vcomp140.d的原因分析及解决办法
  • 文本区域提取和分析——Python版本
  • Nginx代理本地exe服务http为https
  • 22. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--切换主币种
  • 图扑 HT 引擎 × 3DGS 高斯泼溅
  • 利用 AI 高效生成思维导图的简单实用方法
  • uniapp 自定义类微信支付键盘 (微信小程序)