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

每日一问---关于字符串排序 List和Collections工具的疑问

每日一问---关于字符串排序 List和Collections工具的疑问

K丶k 2017-02-10 19:36:08
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类型的教学视频里似乎没有提到类似的问题请高人传道授业解惑
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 910 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信