首先声明本文为作者本人学习笔记,如果文中有差错希望各位大佬指出[抱拳.jpg]
目录
Collections工具类
常用方法:
public static<T> boolean addAll(Collection<T>c, T...elements) //添加批量元素
public static void shuffle(List<T>list) //打乱list集合排序顺序
public static<T> void sort(List<T>list) //排序
public static<T> void sort(List<T>list,Comparator<T> c) //根据指定规则排序
public static<T> int binarySearch(List<T>list, T key) //以二分法查找元素
public static<T> void copy(List<dest, List<T>src) //复制集合中的元素
public static<T> int fill(List<T>list,T obj) //使用指定元素填充集合
public static<T> void max/min(Collection<T>coll) //获得最大值/最小值
public static<t> swap(List<T>list,int i,int j) //交换集合中指定元素
addAll:
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五");
shuffle:
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五");
Collections.shuffle(list);
sort(一个参数):
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五");
Collections.sort(list);
System.out.println(list);
sort(两个参数):
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五","赵六");
Collections.sort(list, (String o1, String o2)->{
return o1.length()-o2.length();
});
在return里返回的是排序规则,像在演示代码中展示的就是依照字符串长度进行排序
binarySearch:
ArrayList<String>list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五","赵六");
int index =Collections.binarySearch(list,"李四");
System.out.println(index);
copy:
ArrayList<String>list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五","赵六");
ArrayList<String>list2= new ArrayList<>();
Collections.addAll(list2,"张三1","李四1","王五1","赵六1");
Collections.copy(list2,list);
System.out.println(list2);
System.out.println(list);
//返回值:
/*
[张三, 李四, 王五, 赵六]
[张三, 李四, 王五, 赵六]
*/
在copy的使用的时候需要确保两个集合的数量相同且集合泛型类型相同,否则会报错
fill:
ArrayList<String>list = new ArrayList<>();
Collections.addAll(list,"张三","李四","王五","赵六");
Collections.fill(list,"替换");
System.out.println(list);
//运行结果
/*