public static boolean addAlll(Collection c, T… elements)
批量添加元素
public static void shuffle(List<?> list)
打乱list集合的顺序
public static void sort(List list)
排序
public static void sort(List list, Comparator c)
根据指定的规则进行排序
public static int binarySearch (List list, T key)
以二分查找法查找元素
public static void copy(List dest, List src)
拷贝集合中的元素
public static int fill (List list, T obj)
使用指定的元素填充集合
public static void max/min(Collection coll)
根据默认的自然排序获取最大/小值
public static void swap(List<?> list, int i, int j)
交换集合中指定位置的元素
练习
packageio.xiaoduo.exercisePackage;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Random;publicclassTest{publicstaticvoidmain(String[] args){ArrayList<String> arr =newArrayList<>();Collections.addAll(arr,"范海萌","黄金瑞","杜倩","冯舒明","蒋奎","雷康","陈呈坤","杨霄");callName(arr);callName(arr);callName(arr);}publicstaticvoidcallName(ArrayList<String> arr){Random r =newRandom();int num = r.nextInt(arr.size());System.out.println(num);System.out.println(arr.get(num));}}
packageio.xiaoduo.exercisePackage;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Random;publicclassTest2{publicstaticvoidmain(String[] args){ArrayList<Student> arr =newArrayList<>();Collections.addAll(arr,newStudent("范海萌",1),newStudent("黄金瑞",0),newStudent("杜倩",0),newStudent("冯舒明",0),newStudent("蒋奎",1),newStudent("雷康",1),newStudent("陈呈坤",1),newStudent("杨霄",1),newStudent("杨霄2",1),newStudent("杨霄3",1));double boy =0;double girl =0;for(int i =0; i <10; i++){if(boy / arr.size()*100<70){callName(arr,1);
boy++;}else{callName(arr,0);
girl++;}}System.out.println(boy);System.out.println(girl);}publicstaticvoidcallName(ArrayList<Student> arr,int flag){Random r =newRandom();int num = r.nextInt(arr.size());int gender = arr.get(num).getGender();String name = arr.get(num).getName();if(flag ==1){while(gender ==0){int num1 = r.nextInt(arr.size());
gender = arr.get(num1).getGender();
name = arr.get(num1).getName();}}else{while(gender ==1){int num2 = r.nextInt(arr.size());
gender = arr.get(num2).getGender();
name = arr.get(num2).getName();}}System.out.println(name);}}
packageio.xiaoduo.exercisePackage;importjava.util.*;publicclassTest3{publicstaticvoidmain(String[] args){ArrayList<Student> arr =newArrayList<>();Collections.addAll(arr,newStudent("范海萌",1),newStudent("黄金瑞",0),newStudent("杜倩",0),newStudent("冯舒明",0),newStudent("蒋奎",1),newStudent("雷康",1),newStudent("陈呈坤",1),newStudent("杨霄",1),newStudent("杨霄2",1),newStudent("杨霄3",1));Map<String,Student> calledList =newHashMap<>();for(int i =0; i <10; i++){callName(arr, calledList);if(calledList.size()== arr.size()){System.out.println("开始新一轮点名");}}
calledList.forEach((key, value)->{System.out.println(key);});}publicstaticvoidcallName(ArrayList<Student> arr,Map<String,Student> calledList){Random r =newRandom();int num = r.nextInt(arr.size());String name = arr.get(num).getName();Student student = arr.get(num);if(!calledList.containsKey(name)){while(calledList.containsKey(name)){
num = r.nextInt(arr.size());
name = arr.get(num).getName();
student = arr.get(num);}}else{while(calledList.containsKey(name)){
num = r.nextInt(arr.size());
name = arr.get(num).getName();
student = arr.get(num);}}
calledList.put(name, student);}}