package imooc.Collections.sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class SortDemo {
/**
* 添加十条随机字符串给List
* 每条字符串的长度为10以内的随机整数
* 每条字符串的每个字符都为随机生成的字符,字符可以重复
* 每条随机字符串不可重复
*
* @param args
*/
public void stringList() {
List<String> stringList = new ArrayList<String>();
Random random = new Random();
StringBuilder str = new StringBuilder();
String string = new String();
// 循环添加10条随机字符串
for (int i = 0; i < 10; i++) {
//每条随机字符串不重复
do {
// 清空str
str.delete(0, str.length());
//每条字符串的字符长度为10以内的随机整数
for (int j = 0; j < random.nextInt(9) + 1; j++) {
//根据ASCII编码生成随机的字符
int n = random.nextInt(3) + 1;
switch (n) {
case 1:
// 生成随机数
int num = random.nextInt(10);
str.append(num);
break;
case 2:
// 生成大写字母
char cap = (char) (random.nextInt(26) + 65);
str.append(cap);
break;
case 3:
// 生成小写字母
char low = (char) (random.nextInt(26) + 97);
str.append(low);
break;
}
string = str.toString();
}
} while (stringList.contains(string));
stringList.add(string);
System.out.println("List中添加了字符串:" + string);
}
System.out.println("-------排序前--------");
for (String i : stringList) {
System.out.println("元素:" + i);
}
Collections.sort(stringList);
System.out.println("-------排序后--------");
for (String i : stringList) {
System.out.println("元素:" + i);
}
}
public static void main(String[] args) {
SortDemo sd = new SortDemo();
sd.stringList();
}
}