/** 根据其他人的代码并结合自己的做了一点修改,可能会有点错误。
- 利用Collections.sort()方法对泛型为String的List进行排序 版本2
- 1.创建完List<String>之后,往其中添加十条随机字符串 2.每条字符串的长度为10以内的随机整数
-
3.每条字符串的每个字符都为随机生成的字符,字符可以重复
*/public void testSort3() {
System.out.println("-------------------------------------------------");
List<String> stringList2 = new ArrayList<String>();String j; for (int i = 0; i < 10; i++) { do { j = testString(); } while (stringList2.contains(j)); stringList2.add(j); System.out.println("成功添加整数:" + j); } System.out.println("----------------排序前----------------"); for (String string : stringList2) { System.out.println("元素:" + string); } Collections.sort(stringList2); System.out.println("----------------排序后----------------"); for (String string : stringList2) { System.out.println("元素:" + string); }
}
/**
- 利用charAt()方法来实现在st这个长字符串中选取合适长度的和合适的字母组成随机的字符串;
- 利用循环;
- 利用apend函数进行字符串的插入;
- 因为charAt方法在括号中要加入索引位置,故在其方法括号中利用随机数来进行选择;
-
*/
// 随机生成长度为10以内的随机字符串;并返回字符串;public String testString() {
StringBuilder sb = new StringBuilder();
String str = "01234ABCmopqDEFGnKNO579PQRSTUVW6XYZabcdHIJefghijklrstLMwx8yz";
Random rd = new Random();
int x = rd.nextInt(10) + 1;
for (int i = 0; i < x; i++) {
sb.append(str.charAt(rd.nextInt(str.length() - 1))); //charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
}// System.out.println(sb.toString()); return sb.toString();
}
运行结果:-------------------------------------------------
成功添加整数:Q
成功添加整数:hX2Kn
成功添加整数:4mjJfBLZo
成功添加整数:ErXiC6NY2t
成功添加整数:J7IekXo
成功添加整数:060gNIwZ
成功添加整数:5pWRn
成功添加整数:a553
成功添加整数:C6SKJ3s5
成功添加整数:B6C7N
----------------排序前----------------
元素:Q
元素:hX2Kn
元素:4mjJfBLZo
元素:ErXiC6NY2t
元素:J7IekXo
元素:060gNIwZ
元素:5pWRn
元素:a553
元素:C6SKJ3s5
元素:B6C7N
----------------排序后----------------
元素:060gNIwZ
元素:4mjJfBLZo
元素:5pWRn
元素:B6C7N
元素:C6SKJ3s5
元素:ErXiC6NY2t
元素:J7IekXo
元素:Q
元素:a553
元素:hX2Kn
排序的结果是按:数字0-9到字母A-Z到a-z的顺序来排序