public?class?CollectionsTestTwo?{
/**
*?通過collections.sort()方法對String泛型進行排序
*?1、要創建一個String泛型,并且隨機添加十個字符串
*?@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創建一個新的字符串對象
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());//隨機產生一個str的索引位置
sb.append(str.charAt(num));//將str在num位置上的值添加到sb字符串對象中
}
}
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
看了看下,雖然可以輸出十個隨機字符串并排序,但是
沒有完成第四個規定,那就是并沒有規定是十個不一樣的隨機字符串。
可以在添加字符串前判斷是否存在,如不存在就跳出重新循環。
具體可以參考下:
loop:
for(int i=0;i<10;) {
//使用StringBuffer創建一個新的字符串對象
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());//隨機產生一個str的索引位置
sb.append(str.charAt(num));//將str在num位置上的值添加到sb字符串對象中
}
}
//判斷將要添加的字符串是否已經存在
if (stringList.contains(sb.toString())) {
continue loop;
}
stringList.add(sb.toString());
i++;
System.out.println("將要添加字符串:" + sb.toString());
}