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
[张三, 李四, 王五]
浙公网安备 33010602011771号