集合-Collection工具类

一、概念

二、常用方法

1.Collection和Collections的区别

Collection:是创建集合的接口,Collections是一个操作Collection工具类

2.常用方法

点击查看代码
@Test
    public void test(){
        ArrayList list = new ArrayList();
        list.add(23);
        list.add(32);
        list.add(-23);
        list.add(54);
        list.add(32);
        list.add(0);
        System.out.println(list);
        //reverse(list):反转list中元素的顺序
        Collections.reverse(list);
        System.out.println(list);
        System.out.println("=====================");
        //shuffle(list):对list集合元素进行随机排序,每运行一次就会出现不通过结果
        Collections.shuffle(list);
        System.out.println(list);
        System.out.println("=====================");
        //sort(list,Comparator):根据指定的Comparator产生的顺序对list集合元素进行排序
        Collections.sort(list);
        System.out.println(list);
        System.out.println("=====================");
        //swap(list,int i,int j):交换list元素中i处和j处的元素
        Collections.swap(list,1,3);
        System.out.println(list);
        System.out.println("=====================");
        //int frequency(Collection,Object):返回集合中指定元素出现的次数
        System.out.println(Collections.frequency(list, 32));
        System.out.println("=====================");
        //void copy(list dest ,list src):将src中的内容复制到dest中
        //错误示范:
//        ArrayList list1 = new ArrayList();
//        list1.add(1);
//        list1.add(3);
//        list1.add(2);
        //这里会报IndexOutOfBoundsException: Source does not fit in dest异常
        //查看copy源码即可知道,当dest的数组元素的个数没有src中的多时就会报上面的异常
//        Collections.copy(list1,list);
        //正确的:
        List list1 = Arrays.asList(new Object[list.size()]);
        Collections.copy(list1,list);
        System.out.println(list1);
        System.out.println("=====================");
        /*
        Collection类中提供了多个synchronizedXxx()方法,
        该方法可使指定集合包装成线程同步的集合,从而可以解决
        多线程并发访问结合时的线程安全问题
         */
        //返回的list2即为线程安全的
        List list2 = Collections.synchronizedList(list);


    }
运行结果图:

posted @ 2022-07-12 16:06  剑断青丝ii  阅读(72)  评论(0编辑  收藏  举报