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(); } }
字符串不仅仅包括数字和大小写字母吧?@#¥%!这也是一个字符串吧?
我觉得 写的 还不错啊,我就没写出来
各位不好意思,链接已改为:http://yun.baidu.com/share/link?shareid=3414386292&uk=3610898735