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人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦