为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季对随机生成的十个十以内的字符串进行排序

标签:
Java

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

/**

  • 利用collections.sort()方法对泛型为String的List进行排序
  • 1.创建完List<String>之后,往其中添加十条随机字符串;
  • 2.每条字符串的长度为十以内的随机整数;
  • 3.每条字符串的的每个字符都为随机生成的字符,字符可以重复
  • 4.每条生成的字符串不可以重复
  • @author Jing Wang
  • */
    public class TestRandomTenString {
    public List<String> list;

    public TestRandomTenString() {
    this.list = new ArrayList<String>();
    }

    public void addString() {
    String k;
    for (int i = 0; i < 10; i++) {
    do {
    // 生成长度为10以内的随机字符串
    StringBuilder sb = new StringBuilder();
    String str = "01234ABCmopqDEFGnKNO579PQRSTUVW6XYZabcdHIJefghijklrstLMwx8yz";
    Random random = new Random();
    // 这里加1是为了确保字符串不会为空
    int j = random.nextInt(10) + 1;
    for (int n = 0; n < j; n++) {
    // 根据j的大小生成10以内的随机字符串
    sb.append(str.charAt(random.nextInt(str.length())));
    }
    k = sb.toString();
    } while (list.contains(k));
    System.out.println("添加第" + (i + 1) + "个随机生成十以内长度的字符串:" + k);
    list.add(k);
    }
    }

    public void testSort() {
    System.out.println("------------------排序前的字符串如下--------------------");
    if (!list.isEmpty()) {
    for (String string : list) {
    System.out.println("排序前第" + (list.indexOf(string) + 1) + "个字符串" + string);
    }
    }
    System.out.println("------------------排序后的字符串如下--------------------");
    if (!list.isEmpty()) {
    Collections.sort(list);
    for (String string : list) {
    System.out.println("排序后第" + (list.indexOf(string) + 1) + "个字符串" + string);
    }
    }

    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    TestRandomTenString trts = new TestRandomTenString();
    trts.addString();
    trts.testSort();
    }

}
运行结果:
添加第1个随机生成十以内长度的字符串:74yZqabn2I
添加第2个随机生成十以内长度的字符串:1gWJIGafL
添加第3个随机生成十以内长度的字符串:l9rjp4pd
添加第4个随机生成十以内长度的字符串:oI4ycY
添加第5个随机生成十以内长度的字符串:0bFf4
添加第6个随机生成十以内长度的字符串:HdebVTE0sS
添加第7个随机生成十以内长度的字符串:ypma4X
添加第8个随机生成十以内长度的字符串:Qk6WAG
添加第9个随机生成十以内长度的字符串:PsaP2
添加第10个随机生成十以内长度的字符串:N
------------------排序前的字符串如下--------------------
排序前第1个字符串74yZqabn2I
排序前第2个字符串1gWJIGafL
排序前第3个字符串l9rjp4pd
排序前第4个字符串oI4ycY
排序前第5个字符串0bFf4
排序前第6个字符串HdebVTE0sS
排序前第7个字符串ypma4X
排序前第8个字符串Qk6WAG
排序前第9个字符串PsaP2
排序前第10个字符串N
------------------排序后的字符串如下--------------------
排序后第1个字符串0bFf4
排序后第2个字符串1gWJIGafL
排序后第3个字符串74yZqabn2I
排序后第4个字符串HdebVTE0sS
排序后第5个字符串N
排序后第6个字符串PsaP2
排序后第7个字符串Qk6WAG
排序后第8个字符串l9rjp4pd
排序后第9个字符串oI4ycY
排序后第10个字符串ypma4X

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消