/**
* 1、创建完List<String>之后,往其中添加十条随机字符串
* 2、每条字符串的长度为10以内的随机整数
* 3、每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4、每条随机字符串不可重复
*/
public void testSort3(){
List<String> stringList = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
StringBuilder tempString = new StringBuilder();
Random random = new Random();
do {
int k = random.nextInt(10);
for (int j = 0; j <= k; j++){
int t = random.nextInt(3);
if (t == 0) {
tempString.append((char)('0' + random.nextInt(10)));
} else if (t == 1) {
tempString.append((char)('A' + random.nextInt(26)));
} else {
tempString.append((char)('a' + random.nextInt(26)));
}
}
} while(stringList.contains(tempString.toString()));
stringList.add(tempString.toString());
}
System.out.println("--------排序前--------");
for (String st : stringList) {
System.out.println("将要添加字符串:'" + st + "'");
}
Collections.sort(stringList);
System.out.println("--------排序后--------");
for (String st : stringList) {
System.out.println("元素:" + st);
}
}
--------排序前--------
将要添加字符串:'7x'
将要添加字符串:'Ebu365T'
将要添加字符串:'4tYlE9CN'
将要添加字符串:'lzlnw14sd'
将要添加字符串:'YA0HzPX79I'
将要添加字符串:'WMM0'
将要添加字符串:'JV7tR'
将要添加字符串:'I2Kf'
将要添加字符串:'D52MNl5u3'
将要添加字符串:'r7U76j4fB'
--------排序后--------
元素:4tYlE9CN
元素:7x
元素:D52MNl5u3
元素:Ebu365T
元素:I2Kf
元素:JV7tR
元素:WMM0
元素:YA0HzPX79I
元素:lzlnw14sd
元素:r7U76j4fB
热门评论
你好,感觉如果把字符分成三类,每个字符的随机几率是不同的。感觉应该这么写。