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

第三季6-5泛型为String的List进行排序课后作业(按老师要求)

标签:
Java

package com.imooc.collection;

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

public class LianTest {
public List<String>lianTest;
public LianTest(){
//实例化
this.lianTest=new ArrayList<String>();
}



public void lianXiTest(){
    String str="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
    Random ran=new Random();
    //循环十次,每次得到一个字符串,共得到十个字符串,整体最外边循环
    for(int i=0;i<10;i++){
    //第三季2-6的StringBuilder类的常用方法,用来储存字符串,减少临时变量
    StringBuilder hobby=new StringBuilder();    
        //do-while循环,意思是序列中包含所添加的元素就再次循环(while中判断保证每次传入不重复)
        do{
    //自动生成10以内正整数0123456789,课程要求10以内随机整数        
    int size=ran.nextInt(10);
    //循环到这里每次都会输出一个字符串,这个字符串而且有可能是空,长度最长为9
    for(int a=0;a<size;a++){
        //当随机传入字符串长度的不为0时,否则执行else
        if(size>0){
        //随机产生与str长度对应的数字
        int num=ran.nextInt(62);
        //根据随机产生数字所产生的char类型指定位置字符
        char p=str.charAt(num);
        //将字符添加到StringBuilder队尾
       hobby.append(p);
       }
        else{
            //创建新对象,为空,弄了好久才想到这样,并赋值给hobby,
            //这个if-else要放到for内,要不执行到空不会加一,可能执行11次
            StringBuilder hobby1=new StringBuilder(""); 
            hobby=hobby1;
            continue;}
}
    }
        //当拥有再次执行上边,拥有时a并不会加1
    while(lianTest.contains(hobby.toString()));
        //把元素添加到序列中
    lianTest.add(hobby.toString());
    }
    System.out.println("-------------排序前--------------");
    //通过foreach遍历输出
    for(String string:lianTest){
        System.out.println("元素:"+string);}
    System.out.println("-------------排序后--------------");
    //排序
    Collections.sort(lianTest);
    //再次通过foreach遍历输出排序后的
    for(String string:lianTest){
        System.out.println("元素:"+string);
        }
    }


  • 列表项

    public static void main(String[] args) {
    // TODO 自动生成的方法存根
    LianTest st=new LianTest();
    st.lianXiTest();
    }
    }

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

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消