public?class?CollectionsTest?{
????public?int?length;
????public?static?final?String?ALLCHAR?=?"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
????/**
?????*?1.通過(guò)Collections.sort()方法,對(duì)Integer泛型的List進(jìn)行排序;
?????*?創(chuàng)建一個(gè)Integer泛型的List,插入十個(gè)100以內(nèi)的不重復(fù)隨機(jī)整數(shù),
?????*?調(diào)用Collections.sort()方法對(duì)其進(jìn)行排序
?????*/
????public?void?testSort1(){
????????List<Integer>?integerList?=?new?ArrayList<Integer>();
????????//?插入十個(gè)100以內(nèi)的不重復(fù)隨機(jī)整數(shù)
????????Random?random?=?new?Random();
????????Integer?k;
????????for(int?i=0;i<10;i++){
????????????do{
????????????????k?=?random.nextInt(100);
????????????}while?(integerList.contains(k));
????????????integerList.add(k);
????????????System.out.println("成功添加整數(shù):"+k);
????????}
????????System.out.println("------------------序列排序前--------------------");
????????for(Integer?integer?:?integerList){
????????????System.out.println("元素:"+integer);
????????}
????????Collections.sort(integerList);
????????System.out.println("------------------序列排序后--------------------");
????????for(Integer?integer?:?integerList){
????????????System.out.println("元素:"+integer);
????????}
????}
????/**
?????*?2.對(duì)String泛型的List進(jìn)行排序;
?????*?創(chuàng)建String泛型的List,添加三個(gè)亂序的String元素,
?????*?調(diào)用sort方法,再次輸出排序后的順序
?????*/
????public?void?testSort2(){
????????List<String>?stringList?=?new?ArrayList<String>();
????????//?插入十個(gè)100以內(nèi)的不重復(fù)隨機(jī)整數(shù)
????????Random?random?=?new?Random();
????????for(int?i=0;i<10;i++){
????????????StringBuffer?buf?=?new?StringBuffer();
????????????length?=?random.nextInt(10)?+?1;
????????????do{
????????????????for(int?j=0;j<length;j++){
????????????????????int?number?=?random.nextInt(ALLCHAR.length());
????????????????????buf.append(ALLCHAR.charAt(number));
????????????????}
????????????}while(stringList.contains(buf.toString()));
????????????stringList.add(buf.toString());
????????????System.out.println("成功添加元素:"?+?buf);
????????}
????????System.out.println("-------排序前-------");
????????for?(String?str:stringList
?????????????)?{
????????????System.out.println("元素:"+str);
????????}
????????Collections.sort(stringList);
????????System.out.println("-------排序后-------");
????????for?(String?str:stringList
????????????????)?{
????????????System.out.println("元素:"+str);
????????}
????}
????/**
?????*?3.對(duì)其他類型泛型的List進(jìn)行排序,以Student為例。
?????*/
????public?void?testSort3(){
????????List<Student>?studentList?=?new?ArrayList<Student>();
????????List<String>?stringList?=?new?ArrayList<String>();
????????Random?random?=?new?Random();
????????String?strnum;
????????for(int?i=0;i<3;i++){
????????????int?number?=?random.nextInt(1000);
????????????do{
????????????????strnum?=?Integer.toString(number);
????????????}while?(stringList.contains(strnum));
????????????stringList.add(strnum);
????????}
????????
????????studentList.add(new?Student(stringList.get(0),"tom"));
????????studentList.add(new?Student(stringList.get(1),"jack"));
????????studentList.add(new?Student(stringList.get(2),"jerry"));
????????System.out.println("--------排序前--------");
????????for?(Student?stu:?studentList
?????????????)?{
????????????System.out.println("學(xué)生的姓名為:"+stu.getName()+",學(xué)生的ID為:"+stu.getId());
????????}
????????Collections.sort(studentList);
????????System.out.println("--------排序后--------");
????????for?(Student?stu:?studentList
????????????????)?{
????????????System.out.println("學(xué)生的姓名為:"+stu.getName()+",學(xué)生的ID為:"+stu.getId());
????????}
????????System.out.println("--------使用comparator排序--------");
????????Collections.sort(studentList,new?StudentComparator());
????????for?(Student?stu:?studentList
????????????????)?{
????????????System.out.println("學(xué)生的姓名為:"+stu.getName()+",學(xué)生的ID為:"+stu.getId());
????????}
????}
????public?static?void?main(String[]?args)?{
????????CollectionsTest?ct?=?new?CollectionsTest();
????????//ct.testSort1();
????????//?ct.testSort2();
????????ct.testSort3();
????}
}
2018-07-26
針對(duì)課后作業(yè)寫了一下testSort2()方法和testSort3()方法。