可变参数,Collections工具类

方法中可变参数

概念

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

可变参数的特点和好处

● 特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以传一个数组给它。

● 好处:常常用来灵活的接收数据。

可变参数的注意事项:

● 可变参数在方法内部就是一个数组。

● 一个形参列表中可变参数只能有一个

● 可变参数必须放在形参列表的最后面

package com.itheima.demo4test;

import java.util.Arrays;

public class ParamDemo1 {
    public static void main(String[] args) {
        //目标:认识可变参数
        sum(1);  //可以不传参数
        sum(10);  //可以传一个参数
        sum(10,20);  //可以传多个参数
        //        sum(new int[]{10,20,30}); //可以传数组

        //优势: 接受参数灵活,可以替代数组传参数
    }

    //注意:在形参中,可变参数只能有一个。并且可变参数必须放后面。原因:可变参数可以传多个数据,所以可能会吃掉其他的参数。
    public static void sum(int age , int...nums){
        //内部怎么拿数据
        //可变参数对内实际上是一个数组,nums就是数组。可以用以下方式验证
        System.out.println(nums.length);//length方法是数组的
        System.out.println(Arrays.toString(nums));//toString方法是Arrays类的,说明传入的是数组
        System.out.println("-------------------------------------");
    }
}

Collections工具类

Collections提供的常用静态方法

package com.itheima.demo4test;

import java.util.*;

public class CollectionsDemo2 {
    public static void main(String[] args) {
        //目标:Collections工具类
        List<String> list = new ArrayList<>();
        //一开始的办法
        /**
         *         list.add("张无忌");
         *         list.add("周芷若");
         *         list.add("赵敏");
         *         list.add("张强");
         *         list.add("张三丰");
         *         list.add("张翠山");
         *         list.add("张良");
         */
        // 1、addAll方法:批量添加
        Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良");
        System.out.println(list);

        // 2、shuffle方法:打乱集合顺序
        Collections.shuffle(list);
        System.out.println(list);
        String s = "abcdefg";
        // 3、sort方法:对集合进行排序  注意:可以直接对自定义类型的List集合排序,但自定义类型必须实现了Comparable接口,指定了比较规则才行
        //对于 String 类型的列表,String 类已经实现了 Comparable 接口,因此可以直接调用 Collections.sort(list) 而无需提供额外的比较器
        Collections.sort(list);
        System.out.println(list);

        // 4、sort方法:对集合进行排序,自定义比较器
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return 0;
            }
        });
        System.out.println(list);
    }
}

注意

1、 sort方法:对集合进行排序

注意:可以直接对自定义类型的List集合排序,但自定义类型必须实现了Comparable接口,指定了比较规则才行

对于 String 类型的列表,String 类已经实现了 Comparable 接口,因此可以直接调用Collections.sort(list) 而无需提供额外的比较器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值