package com.imooc.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class CollectionsTest {
/**
* 练习题:利用Collections.sort()方法对泛型为String的List进行排序
* 要求:
* 1.创建完List<String>之后,往其中添加10条随机的字符串
* 2.每条字符串的长度为10以内
* 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4.每条随机字符串不可重复
* @param args
*/
public void testRandomStringSort(){
List<String> strList = new ArrayList<String>();
Random random = new Random();
//包含0-9A-Za-z全部字符的字符串
String allChar ="0123456789"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz";
int strlen; //字符串长度
String str; //生成的随机字符串
for(int i = 0 ; i < 10 ; i++){
do{
strlen = random.nextInt(10)+1;
//nextInt(k)返回的是区间[0,k)内的整数,所以要用nextInt(k)+1,返回的就是[1,10]的整数
str = "";
//通过字符串方法charAt(),返回在allChar字符串中随机位置(0-61)上的字符
for(int j = 0 ; j < strlen ; j++){
str = str +allChar.charAt(random.nextInt(61));
}
}while(strList.contains(str));
strList.add(str);
System.out.println("添加字符串:" + str);
}
System.out.println("------------排序前----------");
for(String s : strList){
System.out.println("字符串:" + s);
}
Collections.sort(strList);
System.out.println("------------排序后----------");
for(String s : strList){
System.out.println("字符串:" + s);
}
}
public static void main(String[] args) {
CollectionsTest ct = new CollectionsTest();
ct.testRandomStringSort();
}
}