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

花了一晚上的课后练习

标签:
Java

package com.imooc;

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

/**

  • 运用Collections中的sort()方法,
  • 对Integer泛型,String泛型以及其他类型的泛型进行排序
  • @author Administrator
  • */
    public class CollectionsTest {

    //定义一个随机的类变量
    private static Random random = new Random();

    /**

    • 对String泛型排序的版本2.0
    • @param args
      */
      public static void testStringSort2(){
      //创建String泛型的列表
      List<String> stringList = new ArrayList<String>();
      //创建一个String对象
      String str;
      //运用for循环,依次添加10个字符串
      for(int i = 0;i < 10;i++){
      //使用do-while循环避免产生重复的字符串
      do{
      //随机生成由大小写字母及数字组成的字符串
      str = generateStr();
      }while(stringList.contains(str));
      //往列表中添加随机字符串
      stringList.add(str);
      }
      System.out.println("**排序前****");
      for (String string : stringList) {
      System.out.println("随机生成的字符串为:" + string);
      }
      Collections.sort(stringList);
      System.out.println("**排序后*****");
      for (String string : stringList) {
      System.out.println("随机生成的字符串为:" + string);
      }
      }

    //生成随机字符串的方法
    public static String generateStr(){
    //定义一个StringBuilder
    StringBuilder sb = new StringBuilder();
    //生成的字符串长度是随机的
    int length = random.nextInt(10);
    //循环遍历
    for(int i = 0;i < length;i++){
    //定义一个整形变量,记录字符的类型
    int j = random.nextInt(3);
    switch(j){
    case 0:
    sb.append(generateDigital());
    break;
    case 1:
    sb.append(generateCapital());
    break;
    case 2:
    sb.append(generateLowercase());
    }
    }
    return sb.toString();
    }

    //生成10以内的随机整数
    public static int generateDigital(){
    return random.nextInt(10);
    }

    //生成A-Z的大写字母
    public static char generateCapital(){
    return (char) ('A'+random.nextInt(26));
    }

    //生成a-z的大写字母
    public static char generateLowercase(){
    return (char) ('a'+random.nextInt(26));
    }

    public static void main(String[] args) {

    CollectionsTest ct = new CollectionsTest();

    // ct.testIntegerSort();
    // ct.testStringSort();
    testStringSort2();
    }
    }

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

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消