自己参考着写的《随机生成不重复字符串》代码
public static void testSort3(){
List<String> list3 = new ArrayList<String>();//储存所有字符串
Set<String> setString = new HashSet<String>();//用于选择不同的字符串
String newst = new String(); //储存当前得到的字符串
Random rand = new Random(); //产生10以内随机数。用于字符串控制长度
StringBuffer sb= new StringBuffer(); // 可以变动的字符型
StringBuffer buf = new StringBuffer("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); // 字符组合的基
int m = 0; //m控制字符串的数量
while (m<10){
do{
//字符串长度在10以内。达到该长度前进行for循环
for(int i = 0; i < rand.nextInt(10); i ++){
//定义一个变量,取得buf字符组合基的长度
int num = buf.length();
//往空的字符串 sb 的末端加入单个元素。该元素从buf组合基中随机取得
sb.append(buf.charAt(rand.nextInt(num)));
}//do结束
//将sb可变动类型转换成字符串型
newst= sb.toString();
//若setString中已包含该对象,重新进行do操作
}while (setString.contains(newst));
//往Set接口下的setString中添加该对象
setString.add(newst);
//往List接口下的list3中添加该字符串
list3.add(newst);
System.out.println("成功添加:"+newst);
//可变更类型的 sb 字符串 清空,用于下一次操作
sb= new StringBuffer();
m++;
}
System.out.println("============排序前==========");
for (String in : list3){
System.out.println("元素:"+ in);
}
System.out.println("----------------------排序后---------------------");
Collections.sort(list3);
for (String in : list3){
System.out.println("元素:"+ in);
}
}自己写的代码。如有不足请指教一二。十分感谢!