package?com.imooc.collection;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Random;
/**
?*?將要完成:
?*?1、通過Collections.sort()方法,對Integer泛型的List進行排序
?*?2、對String泛型的?List進行排序
?*?3、對其他類型的泛型的例子進行排序,一Student類型為例
?*?@author?Administrator
?*
?*/
public?class?CollectionsTest2?{
public?Random?random?=?new?Random();
/**
?*?創(chuàng)建完List之后往其中添加10條隨機字符串
?*?每條字符串的長度為10以內(nèi)的隨機整數(shù)
?*?每條字符串的每個字符都是隨機生成的,可以重復(fù)
?*?每條隨機字符串不可重復(fù)
?*?@param?args
?*/
public?void?testSort3(){
List<String>?stringList?=?new?ArrayList<String>();
int?i?=?0;
do{
String?str?=?getRandomString();
if((str==null)||(stringList.contains(str)))
continue;
i++;
stringList.add(str);
System.out.println("成功添加字符串?:"+str);
}while(i<9);
System.out.println("-----------排序前--------------");
for?(String?string?:?stringList)?{
System.out.println("字符串:"+string);
}
Collections.sort(stringList);
System.out.println("-----------排序后--------------");
for?(String?string?:?stringList)?{
System.out.println("字符串:"+string);
}
}
/**
?*?生成一個長度隨機隨機字符串
?*?@param?args
?*/
public?String?getRandomString(){
int?length?=?random.nextInt(10);
//sb用來存儲每一個字符串
StringBuffer?sb?=?new?StringBuffer();
for?(int?i?=?0;?i?<?length;?i++)?{
//num=0時隨機生成A-Z;當num=1時隨機生成a-z;當num=2時隨機生成0-9
int?num?=?random.nextInt(3);
long?result?=0;
switch?(num)?{
case?0:
result?=?Math.round(Math.random()*25+65);
sb.append(String.valueOf(result));
break;
case?1:
result?=?Math.round(Math.random()*25+97);
sb.append(String.valueOf(result));
break;
case?2:
sb.append(random.nextInt(10));?
break;
default:
break;
}
}
return?sb.toString();
}
public?static?void?main(String[]?args)?{
CollectionsTest?ct?=?new?CollectionsTest();
ct.testSort3();
}
}
2017-05-04
int length = random.nextInt(10);
隨機數(shù)的范圍是[0,10),前閉后開。
當length取值為0時,new?StringBuffer().toString()的值就是空值""。