美文网首页
利用Collections.sort()方法对泛型为String

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

作者: 有意思的小太太 | 来源:发表于2021-03-08 09:54 被阅读0次

    1.要求

    • a.创建完List<String>后,往其中添加十条随机字符串
    • b.每条字符串的长度为10以内的随机整数
    • c.每条字符串的每个字符都为随机生成的字符,字符可以重复
    • d.每条随机字符串不可重复

    2.难点

    • a.如何生成不重复的随机字符串
    • b. 如何保证每条字符串的长度为10以内的随机整数

    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);
            }
        }
    

    相关文章

      网友评论

          本文标题:利用Collections.sort()方法对泛型为String

          本文链接:https://www.haomeiwen.com/subject/zsqpqltx.html