public?class?CollectionsTestTwo?{
/**
*?通過(guò)collections.sort()方法對(duì)String泛型進(jìn)行排序
*?1、要?jiǎng)?chuàng)建一個(gè)String泛型,并且隨機(jī)添加十個(gè)字符串
*?@param?args
*/
public?void?testSort1()?{
String?str?=?"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random?random?=?new?Random();
List<String>?stringList?=?new?ArrayList<String>();
for(int?i?=0;i<10;i++)?{
//使用StringBuffer創(chuàng)建一個(gè)新的字符串對(duì)象
StringBuffer?sb?=?new?StringBuffer();
int?stringLength?=?random.nextInt(10);
if(stringLength?==?0)?{
continue;
}else?{
for(int?j?=0;j<stringLength;j++)?{
int?num?=?random.nextInt(str.length());//隨機(jī)產(chǎn)生一個(gè)str的索引位置
sb.append(str.charAt(num));//將str在num位置上的值添加到sb字符串對(duì)象中
}
}
stringList.add(sb.toString());
System.out.println("將要添加字符串:"?+?sb.toString());
}
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);
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
CollectionsTestTwo?ctt?=?new?CollectionsTestTwo();
ctt.testSort1();
}
}

2019-03-06
看了看下,雖然可以輸出十個(gè)隨機(jī)字符串并排序,但是
沒(méi)有完成第四個(gè)規(guī)定,那就是并沒(méi)有規(guī)定是十個(gè)不一樣的隨機(jī)字符串。
可以在添加字符串前判斷是否存在,如不存在就跳出重新循環(huán)。
具體可以參考下:
loop:
for(int i=0;i<10;) {
//使用StringBuffer創(chuàng)建一個(gè)新的字符串對(duì)象
StringBuffer sb = new StringBuffer();
int stringLength = random.nextInt(10);
if(stringLength == 0) {
continue;
}else {
for(int j =0;j<stringLength;j++) {
int num = random.nextInt(str.length());//隨機(jī)產(chǎn)生一個(gè)str的索引位置
sb.append(str.charAt(num));//將str在num位置上的值添加到sb字符串對(duì)象中
}
}
//判斷將要添加的字符串是否已經(jīng)存在
if (stringList.contains(sb.toString())) {
continue loop;
}
stringList.add(sb.toString());
i++;
System.out.println("將要添加字符串:" + sb.toString());
}