Java SE系列笔记——Collections工具类

Collections工具类

Collections是操作List&Map&Set的静态工具类。与Collection不同不可被实例化。

Collections静态类常用方法

reverse(List)反转数据

shuffle(List)随机排序

sort(List)自然排序,实现Comparable接口,重写comparTo方法

sort(List,Comparator)自定义排序

swap(List,int,int)交换指定

Object max(Collection)返回最大元素

Object max(Collection,Comparator)根据指定排序返回最大元素

Object min(Collection)

Object min(Collection,Comparator)

int frequency(Collection,Object)返回指定元素出现的次数

void copy(List dest,List list)将list复制给dest
List dest = Arrays.asList(new Object[list.size()]);
Collection.copy(dest,list)

boolean replaceAll(List,Object old,Object new)新值替换旧值

自然排序

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //自然排序
        Collections.sort(list);
		System.out.println(list);
    }

自定义排序

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //自定义排序
        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        System.out.println(list);
    }

随机排序

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //随机排序
        Collections.shuffle(list);
		System.out.println(list);
    }

交换元素

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //交换指定位置元素
        Collections.swap(list,0,1);
		System.out.println(list);
    }

自然排序下返回最大值

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //自然排序返回最大元素
        Comparable max = Collections.max(list);
        System.out.println(max);
    }

自定义排序下返回最大值

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //自定义
        Comparable max = Collections.max(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });
        System.out.println(max);
    }

复制list到desk

public void test3(){
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        list.add(96);
        list.add(96);
		//需要通过数组转集合创建
        List desk = Arrays.asList(new Object[list.size()]);
        Collections.copy(desk,list);

        System.out.println(desk);
    }

返回指定对象在集合中出现的次数

public void test(){
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        list.add(96);
        list.add(96);

        int frequency = Collections.frequency(list, 96);
        System.out.println(frequency);
    }

数组转集合

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //数组转集合
        List dest = Arrays.asList(new Object[]{1,2,3});
        System.out.println(dest );
    }

反转集合

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);
        //反转数据
        Collections.reverse(list);
        System.out.println(list);
    }

线程安全

public void test() {
        List list = new ArrayList();
        list.add(58);
        list.add(45);
        list.add(96);

        //线程安全的List
        List list =  Collections.synchronizedList(list);

       	//线程安全的Map
        Map map = Collections.synchronizedMap(new HashMap());
    }

Java SE系列笔记——集合
https://blog.youkuaiyun.com/weixin_46002478/article/details/109055133

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值