利用Collections.sort()方法对泛型为String

2021-03-08  本文已影响0人  有意思的小太太

1.要求

2.难点

3.代码


    /**
     * 获取随机字符串
     *
     * @param length 字符长度
     * @return
     */
    private static String getRandomString(int length) {
        // 定义组成随机字符串的所有字符集
        String character = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < length; i++) {
            // 生成字符随机数
            int number = random.nextInt(character.length());
            //将字符集的第number个字符加到stringBuilder末尾
            stringBuilder.append(character.charAt(number));
        }
        return stringBuilder.toString();
    }

    /**
     * 获取随机长度字符串
     * 
     * @return
     */
    private static List<String> getRandomLengthString() {
        // 定义一个String泛型的List来存放10个长度为10以内的随机不重复字符串
        List<String> stringList = new ArrayList<>();
        Random random = new Random();
        int k;
        String str;
        for (int i = 0; i < 10; i++) {
            // 生成10以内的随机整数
            k = random.nextInt(10);
            do {
                str = getRandomString(k);
                // 如果stringList包含该字符串,则重新生成新的字符串
            } while (stringList.contains(str));
            stringList.add(str);
        }
        return stringList;
    }


    public static void main(String[] args) {
        System.out.println("-----------排序前--------------");
        for (String s : getRandomLengthString()) {
            System.out.println(s);
        }
        System.out.println("-----------排序后--------------");
        List<String> stringTestList = getRandomLengthString();
        // 排序
        Collections.sort(stringTestList);
        for (String s : stringTestList) {
            System.out.println(s);
        }
    }
上一篇下一篇

猜你喜欢

热点阅读