package com.interater;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class StringSort {
/**
* 1 创建 List<String> 泛型,添加十条随机字符串;
* 2 每条字符的长度为10以内的随机整数;
* 3 每条字符串的每个字符都为随机生成的字符,字符可以重复;
* 4 每条随机字符串不可以重复。
*/
public void testStringSort(){
//创建泛型
List<String> stringList = new ArrayList<String>();
Random random = new Random();
//生成随机字符串
String k;
for (int i=0;i < 10;i++){
do {
k = this.getRandomString(random.nextInt(10)); //调用生成字符串的方法getRandomString(int length) 将10以内的随机数作为长度参数传入
} while (stringList.contains(k));
stringList.add(k);
System.out.println("成功添加字符串"+k);
}
System.out.println("=============排序前================");
for (String string: stringList) {
System.out.println("元素: "+string);
}
Collections.sort(stringList); //对stringList进行排序
System.out.println("==============排序后================");
for (String string: stringList) {
System.out.println("元素: "+string);
}
}
/**
*
* @param length 要生成的字符串的长度
* @return 一个随机生成的字符串
*/
public String getRandomString(int length) {
//创建字串源串
String base = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//调用随机类实例
Random random = new Random();
//调用Sting 实现类 StringBuffer 的 实例
StringBuffer sb = new StringBuffer();
//根据传参 生成一个 length长度的字符串
for (int i = 0; i < length; i++) {
//取得一个 源串长度以内的 随机整数
int number = random.nextInt(base.length());
//调用StringBuffer的append()方法将 一个随机char(利用charAt方法把随机数number当成索引传入取得源串中的一个随机char)追加到这个字符串序列之后
sb.append(base.charAt(number));
}
return sb.toString(); //将字符串返回到外面调用
}
public static void main(String[] args){
StringSort ss = new StringSort();
ss.testStringSort();
}
}