自己参考着写的《随机生成不重复字符串》代码
public static void testSort3(){ List<String> list3 = new ArrayList<String>();//储存所有字符串 Set<String> setString = new HashSet<String>();//用于选择不同的字符串 String newst = new String(); //储存当前得到的字符串 Random rand = new Random(); //产生10以内随机数。用于字符串控制长度 StringBuffer sb= new StringBuffer(); // 可以变动的字符型 StringBuffer buf = new StringBuffer("abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); // 字符组合的基 int m = 0; //m控制字符串的数量 while (m<10){ do{ //字符串长度在10以内。达到该长度前进行for循环 for(int i = 0; i < rand.nextInt(10); i ++){ //定义一个变量,取得buf字符组合基的长度 int num = buf.length(); //往空的字符串 sb 的末端加入单个元素。该元素从buf组合基中随机取得 sb.append(buf.charAt(rand.nextInt(num))); }//do结束 //将sb可变动类型转换成字符串型 newst= sb.toString(); //若setString中已包含该对象,重新进行do操作 }while (setString.contains(newst)); //往Set接口下的setString中添加该对象 setString.add(newst); //往List接口下的list3中添加该字符串 list3.add(newst); System.out.println("成功添加:"+newst); //可变更类型的 sb 字符串 清空,用于下一次操作 sb= new StringBuffer(); m++; } System.out.println("============排序前=========="); for (String in : list3){ System.out.println("元素:"+ in); } System.out.println("----------------------排序后---------------------"); Collections.sort(list3); for (String in : list3){ System.out.println("元素:"+ in); } }
自己写的代码。如有不足请指教一二。十分感谢!