Collection工具类

Collection工具类

package com.tiedandan.集合.Collection工具类;

import org.w3c.dom.ls.LSInput;
/**
 * Collections工具类,主角是collection
 */
import java.util.*;

public class Collection {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(3);
        list.add(13);
        list.add(2);
        System.out.println("-------默认输出--------");
        System.out.println(list.toString());
        //sort()排序,默认从小到大,可通过反转实现从大到小
        System.out.println("-------sort()排序,默认从小到大,可通过反转实现从大到小--------");
        Collections.sort(list);
        System.out.println(list.toString());
        //binarySearch(a,b)二分查找. a:查找的集合名;b:查找的数据
        System.out.println("-------binarySearch(a,b)二分查找,返回查找的位置--------");
        int i = Collections.binarySearch(list,13);
        System.out.println(i);//返回查找的位置
        //copy复制。实现:创建一个新集合和目标集合一样大小,然后把目标集合的数值复制到新集合。
         System.out.println("-------copy复制--------");
        List<Integer> list1=new ArrayList<>();
        for (int j = 0; j <list.size() ; j++) {
        list1.add(0);
        }
        Collections.copy(list1,list);//(新数组,目标数组)
        System.out.println(list1.toString());
        //reverse反转
        Collections.reverse(list);
        System.out.println("反转之后:"+list.toString());
        //shuffle打乱
        System.out.println("list打乱之后"+ list.toString());
        //把集合转成数组
        System.out.println("---------把集合转成数组--------");
        Integer[] arr = list.toArray(new Integer[0]);
        System.out.println(arr.length);
        System.out.println(Arrays.toString(arr));
        //数组转成集合,但是转换后的集合不能添加或者删除元素,不然会报错。
        System.out.println("---------数组转成集合--------");
        String[] arr1 = {"张三","李四","王五"};

        List<String> lis3 = Arrays.asList(arr1);
        System.out.println(lis3.size());
        System.out.println(lis3.toString());
        //基本类型数组转成集合时,需要把类型转成包装类
        System.out.println("-------基本类型数组转成集合时,需要把类型转成包装类--------");
        Integer[]arr2 ={1,2,3,4};
        List<Integer> lis4 = Arrays.asList(arr2);
        System.out.println(lis3.toString());

    }
}

运行结果:

-------默认输出--------
[1, 3, 13, 2]
-------sort()排序,默认从小到大,可通过反转实现从大到小--------
[1, 2, 3, 13]
-------binarySearch(a,b)二分查找,返回查找的位置--------
3
-------copy复制--------
[1, 2, 3, 13]
反转之后:[13, 3, 2, 1]
list打乱之后[13, 3, 2, 1]
---------把集合转成数组--------
4
[13, 3, 2, 1]
---------数组转成集合--------
3
[张三, 李四, 王五]

posted on 2021-11-21 13:28  张铁蛋666  阅读(48)  评论(0)    收藏  举报

导航