手记

Java入门第三季练习:生成随机字符串并测试Collections.sort()方法排序

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class StringListTest {

/**
 * 创建List<String>,往其中添加十条随机字符串 每条字符串长度10以内 每条字符串每个字符都为随机生成的字符,字符可以重复
 * 每条随机字符串不可重复
 */
List<String> strings = new ArrayList<String>();

/**
 * 生成一个长度为10以内随机整数的字符串
 */
public String createString() {
    StringBuilder str = new StringBuilder();
    String ss = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    Random random = new Random();
    char c;
    for (int i = 0; i <= random.nextInt(10); i++) {
        c = ss.charAt(random.nextInt(ss.length()));
        str.append(c);
    }
    return str.toString();
}

/**
 * 生成要测试的StringList;
 */
public List<String> createSString() {
    for (int i = 0; i < 10; i++) {
        String str;
        do{
            str=createString();
        }while(strings.contains(str));
        strings.add(str);
    }
    return strings;
}

/**
 * strings的foreach遍历方法 分别输出排序前和排序后
 */
public void stringsForEach() {
    for (String str : strings) {
        System.out.println(str);
    }
}

/**
 * 测试strings排序
 */
public void testStringList() {
    strings = createSString();
    System.out.println("-------排序前-------");
    stringsForEach();
    Collections.sort(strings);
    System.out.println("-------排序后-------");
    stringsForEach();
}

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    StringListTest slt = new StringListTest();
    slt.testStringList();
}

}

测试结果:
-------排序前-------
X6
6JI
iWkvOJu
KM5nO
S
7w
vhjJbzlU
VsE
OJdZ
0X
-------排序后-------
0X
6JI
7w
KM5nO
OJdZ
S
VsE
X6
iWkvOJu
vhjJbzlU

0人推荐
随时随地看视频
慕课网APP