• Collections工具类的使用


    *Collections工具类的使用*

    小案例

    package com.collectionpractise;
    
    import javax.sound.midi.Soundbank;
    import java.lang.reflect.Array;
    import java.util.*;
    
    /**
     * Collections集合工具类的使用
     */
    public class CollectionDemo01 {
        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<Integer>();
            list.add(20);
            list.add(10);
            list.add(30);
            list.add(60);
            list.add(80);
            list.add(90);
            list.add(70);
            //sort排序
            System.out.println("排序之前:"+list);
            Collections.sort(list);//采用的是升序
            System.out.println("排序之后:"+list);
    
            //binarySearch 对集合中的元素进行二分查找,再进行二分查找的时候一定是要先进行排序。
            int i = Collections.binarySearch(list, 11);//如果没有找到的话,就返回一个负值
            System.out.println("找到还是没有找到:"+i);
            //copy复制
            ArrayList<Integer> listcopy = new ArrayList<Integer>();
            for (int j = 0; j <list.size() ; j++) {
                listcopy.add(0);
            }
            Collections.copy(listcopy,list);//如果直接进行copy的话会报错java.lang.IndexOutOfBoundsException: Source does not fit in dest 。解决方案:先给目标集合传点数据,就好了
            System.out.println(listcopy);
    
            //reverse 反转
            Collections.reverse(list);
            System.out.println("反转之后:"+list);
            //shuffle 打乱 洗牌
            Collections.shuffle(list);
            System.out.println("打乱之后:"+list);
    
            //补充:list转换成数组
            System.out.println("=============list转换成数组================");
            Integer[] arr = list.toArray(new Integer[0]);//如果不够的话,会进行补齐 如果是0的话会自动进行扩容。
            System.out.println(arr.length);
            System.out.println(Arrays.toString(arr));
    
            //数组转成集合
            System.out.println("==========数组转成集合============");
            String[] names={"张三","李四","王五"};
            //将数组转换成集合是一个受限和,不能够添加和删除集合中的元素
            List<String> list1 = Arrays.asList(names);
    //        list1.add("赵六");//java.lang.UnsupportedOperationException
            System.out.println(list1);
            //另外需要注意:把基本数据类型转换成集合时,需要修改为包装类型
    //        int[] nums={100,200,300,400,500};
    //        List<int[]> ints = Arrays.asList(nums);
    //        System.out.println(ints.toString());  //这样写的话,最后是遍历不出来集合中的元素的
            Integer[] nums={100,200,300,400,500};
            List<Integer> ints = Arrays.asList(nums);
            System.out.println(ints.toString());//这样写的话,最后是能够遍历出来集合中的元素的
        }
    }
    
    

    运行结果:

    排序之前:[20, 10, 30, 60, 80, 90, 70]
    排序之后:[10, 20, 30, 60, 70, 80, 90]
    找到还是没有找到:-2
    [10, 20, 30, 60, 70, 80, 90]
    反转之后:[90, 80, 70, 60, 30, 20, 10]
    打乱之后:[70, 60, 30, 80, 10, 90, 20]
    =============list转换成数组================
    7
    [70, 60, 30, 80, 10, 90, 20]
    ==========数组转成集合============
    [张三, 李四, 王五]
    [100, 200, 300, 400, 500]
    
  • 相关阅读:
    在IT行业工作如何获得高薪?选择前沿的技术,把准方向,有技术有人缘
    如何去做不想做的事情的 - 10个建议
    如何去做不想做的事情的 - 10个建议
    项目管理
    项目管理
    Spring Quartz 定时任务
    Spring Quartz 定时任务
    Spring @Transactional (一)
    Spring @Transactional (一)
    Search Insert Position
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/14349945.html
Copyright © 2020-2023  润新知