package?com.imooc.collection;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Random;
public?class?CollectionsTest?{
????/**
?*?練習(xí)題:利用Collections.sort()方法對泛型為String的List進(jìn)行排序
?*?要求:
?*?1.創(chuàng)建完List<String>之后,往其中添加10條隨機(jī)的字符串
?*?2.每條字符串的長度為10以內(nèi)
?*?3.每條字符串的每個字符都為隨機(jī)生成的字符,字符可以重復(fù)
?*?4.每條隨機(jī)字符串不可重復(fù)
?*?@param?args
?*/
public?void?testRandomStringSort(){
List<String>?strList?=?new?ArrayList<String>();
Random?random?=?new?Random();
//包含0-9A-Za-z全部字符的字符串
String?allChar?="0123456789"?
+?"ABCDEFGHIJKLMNOPQRSTUVWXYZ"?
+?"abcdefghijklmnopqrstuvwxyz";
int?strlen; //字符串長度
String?str; //生成的隨機(jī)字符串
for(int?i?=?0?;?i?<?10?;?i++){
do{
strlen?=?random.nextInt(10)+1;
//nextInt(k)返回的是區(qū)間[0,k)內(nèi)的整數(shù),所以要用nextInt(k)+1,返回的就是[1,10]的整數(shù)
str?=?"";
//通過字符串方法charAt(),返回在allChar字符串中隨機(jī)位置(0-61)上的字符
for(int?j?=?0?;?j?<?strlen?;?j++){
str?=?str?+allChar.charAt(random.nextInt(61));
}
}while(strList.contains(str));
strList.add(str);
System.out.println("添加字符串:"?+?str);
}
System.out.println("------------排序前----------");
for(String?s?:?strList){
System.out.println("字符串:"?+?s);
}
Collections.sort(strList);
System.out.println("------------排序后----------");
for(String?s?:?strList){
System.out.println("字符串:"?+?s);
}
}
public?static?void?main(String[]?args)?{
CollectionsTest?ct?=?new?CollectionsTest();
????????????????ct.testRandomStringSort();
}
}
2015-05-26
字符串不僅僅包括數(shù)字和大小寫字母吧?@#¥%!這也是一個字符串吧?
2015-04-02
我覺得 寫的 還不錯啊,我就沒寫出來
2015-03-26
各位不好意思,鏈接已改為:http://yun.baidu.com/share/link?shareid=3414386292&uk=3610898735