Collections工具类
概念:集合工具类,定义了除存储以外的集合常用方法
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(30);
list.add(5);
list.add(20);
list.add(15);
//sort排序
System.out.println(list.toString());
Collections.sort(list);
System.out.println(list.toString());
//binarySearch二分查找
int i=Collections.binarySearch(list,15);
System.out.println(i);
//二分查找找不到的为负数
int k=Collections.binarySearch(list,25);
System.out.println(k);
//copy赋值
List<Integer> list1=new ArrayList<>();
//这样直接copy是不行的,因为设计时就要求两个集合大大小必须一样,这里list1还没添加元素大小为0
//
// Collections.copy(list1,list);
// System.out.println(list1.toString());
for (int l = 0; l < list.size(); l++) {
list1.add(0);
}
Collections.copy(list1,list);
System.out.println(list1.toString());
//reverse反转
Collections.reverse(list);
System.out.println(list);
//suffle打乱
Collections.shuffle(list);
System.out.println(list);
//list集合转换成数组
//这里给new Integer[]传的大小,如果大于list就是该值比list长度多的部分的元素为null,如果等于小于list那就是list的长度
Integer[] array= list.toArray(new Integer[0]);
System.out.println(array.length);
System.out.println(Arrays.toString(array));
//数组转换为集合
String[] strings={"zhangs","lisi","wangwu"};
List<String> list2=Arrays.asList(strings);
//当我把数组转换为集合之后,我们不能对数组进行添加和删除
//list.add("lll");报错
//list.remove(0);报错
System.out.println(list2.size());
System.out.println(list2.toString());
//这样是不行的直接报错
//int[] nums={1,2,3,4};
// List<Integer> list3=Arrays.asList(nums);
//这时系统提示我们这个List应该是List<int[]>,但是这样list3就是个数组
//List<int[]> list3=Arrays.asList(nums);
//所以我们只能这样写
Integer[] nums={1,2,3,4};
List<Integer> list3=Arrays.asList(nums);
System.out.println(list3.size());
System.out.println(list3.toString());
//总结就是把基本数据类型转换为集合,需要修改为包装类型
}