楼昇月
2019-03-12 00:49
package com.imooc.collection; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class SortTest { public List<String> listStr; public Random random; public SortTest() { l istStr = new ArrayList<String>(); random = new Random(); } //创建随机字符串 public void createListStr() { String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; int len = str.length(); // 添加10个随机字符串 for (int i = 0; i < 10; i++) { int itemLen = random.nextInt(6) + 5; // 5-10包括5和10 int start, end; String resStr = ""; // 生产长度为5-10的随机字符串 for (int k = 0; k < itemLen; k++) { String item; do { start = random.nextInt(len - 1); end = start + 1; item = str.substring(start, end); } while (resStr.indexOf(item) > -1); resStr += item; } listStr.add(resStr); } } //字符串排序 public void shortListStr() { Collections.sort(listStr); } public static void main(String[] args) { SortTest st = new SortTest(); st.createListStr(); st.shortListStr(); System.out.println(st.listStr.toString()); } }
输出结果:
[508U4jw, CApkURXuYv, CtQ7i8, CuazfBHO, KN17Aac, MwJ9Ra, blqTcd, hNgt4J8oBi, hoBvzrdW, kcbPj]
想问一下while(resStr.indexOf(item)>-
1
)是判断每条生成的字符串中不能出现重复的单个字符吗?
还有就是start和end的范围我有点想不明白,其余的就是膜拜老司机了
不知道说什么话好。。。。
Java入门第三季
409792 学习 · 4340 问题
相似问题