package?com.myself2;
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.Collections;
import?java.util.List;
import?java.util.Random;
import?java.util.stream.Collector;
import?java.util.stream.Collectors;
public?class?TEST?{
public?static?String?set?="1234567890ABCDEFGHIJKLNOPQRSTUVWXYZabcdefghijklnopqrstuvwxyz";
public?static?String?set2="1234";
public?static?StringBuffer?str?=?new?StringBuffer();?//StringBuffer?有可修改?和拼接功能?
public?static?List?<String>?list?=?new?ArrayList<String>();
static?Random?random?=??new?Random();
public?static?void?main(String[]?args)?{
for(int?i=0;i<10;)??//??定義生成?10?個隨機?字符串
{
//>>>> 初始化?str
StringBuffer?str?=?new?StringBuffer();
int?getnewsrt?=?random.nextInt(10);
//返回一個0-10的隨機數作為?下列循環次數?=?新的字符串的長度
for(int?i2=0;i2<getnewsrt;i2++){
????
int?getindex?=?random.nextInt(set.length());
//返回一個?隨機字符庫?長度的?的整形數字作為索引
????str.append(set.substring(getindex,?getindex+1));
}
???//??內部for?循環結束??獲取到了一個?成熟的?經過加工的get字符串
System.out.println("本次循環得出的字符串為"+str);
//判斷??如果?集合list?中包含了?str?即重復???則i不變?循環不計數??否則??i+1??并且條用add方法
String?getstr?=?str.toString();
if(list.contains(getstr)){//i不變??循環不計數
}
else{i++;list.add(getstr);}
//↑ //??由于?此處??不論?是否包含了str??再循環體中str都被我們加工過
//↑ //???影響下一次循環體的輸出?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
//↑ //因此?再?下一次?循環開始之前??我們要重新初始化?str???
}
//整個for循環結束
?//開始排序
?????Collections.sort(list);
System.out.println("-------排序后---------");
for(int?i=0;i<list.size();i++)
{
System.out.println("第"+(i+1)+"個字符串為"+list.get(i));
}
}
}今晚學習過程 發現List ?可以定義成 StringBuffer 的泛型但是 Collections 類的 ?sort 方法 不可以排序?StringBuffer ?的List卻可以 ?排序String類型的教學視頻里似乎沒有提到類似的問題請高人傳道授業解惑
添加回答
舉報
0/150