public void sort3() {
//随机字符串容器
List<String> stringList = new ArrayList<>();
//字符源
String str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
//存放随机字符串
String string;
//for循环向stringList中添加随机字符串(的对象引用)
for (int j = 0; j < 5; j++) {
//判断生成的字符串是否已在容器中存在
do {
StringBuilder stringBuilder = new StringBuilder();//必须初始化
int i = random.nextInt(10);//控制随机字符串的长度
//产生随机字符串;for循环中的控制了循环的次数,也就是控制了随机字符串的长度
for (int k = 0; k < i; k++) {
/*
* 1.charAt()方法取得string中指定索引的字符
* 2.random.nextInt(string.length())获得string字符串最大长度的值内的随机值
* 3.整体效果就是在string中取得一个随机字符
*/
//从字符源中获取随机字符
char singleChar = str.charAt(random.nextInt(str.length()));
//把随机字符添加到动态字符串中
stringBuilder.append(singleChar);
}
string = String.valueOf(stringBuilder);
//展示一下生成的随机字符串
System.out.println("生成了随机字符串:" + string);
} while (stringList.contains(string));
//向容器中添加随机字符串(的对象引用)
stringList.add(string);
}
//展示一下排序前的所有字符串
System.out.println("---------------排序前------------------");
for (String string1 : stringList) {
System.out.println("字符串:" + string1);
}
//进行排序
Collections.sort(stringList);
//展示一下排序后的所有字符串
System.out.println("---------------排序后------------------");
for (String string2 : stringList) {
System.out.println("字符串:" + string2);
}
}
打开App,阅读手记