java之Collections集合工具类

在这里插入图片描述
可复制版

public class Demo1 {
    public static void main(String[] args) {
        ArrayList<String> arrayList=new ArrayList<>();
        //往集合中添加一些元素addAll(Collection<T> c,T...elements)
        Collections.addAll(arrayList,"a","b","c","d","e");//这是一个可变参数的应用
        System.out.println(arrayList);
        //打乱集合中的元素shuffle(list<?> list)
        Collections.shuffle(arrayList);
        System.out.println(arrayList);
        //将集合中的元素按照默认规则排序 排序sort
        //sort(List<T> list)默认升序
        Collections.sort(arrayList);
        System.out.println(arrayList);
  //给自定义的对象排序需要实现comparable接口
        ArrayList<Person> p=new ArrayList<>();
        p.add(new Person("a_name1",15));
        p.add(new Person("b_name2",11));
        p.add(new Person("c_name3",14));
        p.add(new Person("d_name4",12));
        p.add(new Person("e_name5",13));
        p.add(new Person("f_name5",13));//年龄相同测试组
        //先打乱顺序
        Collections.shuffle(p);
        System.out.println(p);
  //进行排序
        //comparable接口排序规则
        //this-参数=升序,参数-this是降序
        Collections.sort(p);
        System.out.println(p);
//sort(List<T>,Comparator<? super T>)将集合中元素按照指定规则排序
        //comparator与comparable的区别
        //comparator找一个第三方裁判比较
        Collections.shuffle(p);
        Collections.sort(p, new Comparator<Person>() {
            @Override
            //重写比较的规则
            public int compare(Person o1, Person o2) {
               /* o2-o1 降序*/
                int result= o1.getAge()-o2.getAge();//升序
                if (result==0)//如果年龄相同使用首字母排序
                {
                    result=o1.getName().charAt(0)-o2.getName().charAt(0);
                }
                return result;
            }
        });
        System.out.println(p);
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值