package com.myself2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.stream.Collector;
import java.util.stream.Collectors;
public class TEST {
public static String set ="1234567890ABCDEFGHIJKLNOPQRSTUVWXYZabcdefghijklnopqrstuvwxyz";
public static String set2="1234";
public static StringBuffer str = new StringBuffer(); //StringBuffer 有可修改 和拼接功能
public static List <String> list = new ArrayList<String>();
static Random random = new Random();
public static void main(String[] args) {
for(int i=0;i<10;) // 定义生成 10 个随机 字符串
{
//>>>> 初始化 str
StringBuffer str = new StringBuffer();
int getnewsrt = random.nextInt(10);
//返回一个0-10的随机数作为 下列循环次数 = 新的字符串的长度
for(int i2=0;i2<getnewsrt;i2++){
int getindex = random.nextInt(set.length());
//返回一个 随机字符库 长度的 的整形数字作为索引
str.append(set.substring(getindex, getindex+1));
}
// 内部for 循环结束 获取到了一个 成熟的 经过加工的get字符串
System.out.println("本次循环得出的字符串为"+str);
//判断 如果 集合list 中包含了 str 即重复 则i不变 循环不计数 否则 i+1 并且条用add方法
String getstr = str.toString();
if(list.contains(getstr)){//i不变 循环不计数
}
else{i++;list.add(getstr);}
//↑ // 由于 此处 不论 是否包含了str 再循环体中str都被我们加工过
//↑ // 影响下一次循环体的输出
//↑ //因此 再 下一次 循环开始之前 我们要重新初始化 str
}
//整个for循环结束
//开始排序
Collections.sort(list);
System.out.println("-------排序后---------");
for(int i=0;i<list.size();i++)
{
System.out.println("第"+(i+1)+"个字符串为"+list.get(i));
}
}
}今晚学习过程 发现List 可以定义成 StringBuffer 的泛型但是 Collections 类的 sort 方法 不可以排序 StringBuffer 的List却可以 排序String类型的教学视频里似乎没有提到类似的问题请高人传道授业解惑
添加回答
举报
0/150
提交
取消