先上代码:
package com.hy.Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
// ASCII中:数字(48~57)大小字母(65~90)小写字母(97~122)
Random random = new Random();
for (int i = 0; i < 10; i++) {
int num1 = random.nextInt(10) + 1;// 1~10以内的随机数,用来控制字符串长度
char[] ch = new char[num1];// 用于存储生成的字符
for (int j = 0; j < num1; j++) {
int num2;
do {
num2 = random.nextInt(76) + 47;// 控制数字范围:[48,123)
} while (num2 < 48 || (num2 > 57 && num2 < 65)
|| (num2 > 90 && num2 < 97) || num2 > 122);// 当num2是数字、或字母时,跳出循环,否则重新生成
char c = (char) num2;// 强转为char类型,就成了对应序号的ASCII符号
ch[j] = c;
}
String st = String.valueOf(ch);// 转换为字符串
System.out.println("将要添加字符串:'" + st + "'");
list.add(st);
}
System.out.println("*******排序前*******");
for (String string : list) {
System.out.println("元素:" + string);
}
System.out.println("*******排序后*******");
Collections.sort(list);
for (String string : list) {
System.out.println("元素:" + string);
}
}
}
最后上运行效果图: