首页 > 开发 > JAVA > 正文

利用Collections.sort()方法对泛型为String的List进行排序(Java)

2016-07-25 21:44:23  来源:慕课网
  .
任务要求:
1.创建完List<String>之后,往其中添加十条随机字符串
2.每条字符串的长度为10以内的随机整数(最好不要是0,程序中避免了0)
3.每条字符串的每个字符都为随机生成的字符,字符可以重复
4.每条随机字符串不可重复
package lu.zhang;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Random;public class ListStringSort { List<String> listString; public ListStringSort(){ listString=new ArrayList<String>(); } public static void main(String[] args) { // TODO Auto-generated method stub ListStringSort lss=new ListStringSort(); lss.load(); lss.sort(); } /** * 向泛型为String的List中加入十条随机字符串 */ public void load(){ Random random=new Random(); String str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; System.out.println("-------------排序前--------------"); for(int i=0;i<10;i++){ Integer randInt; do{ randInt=random.nextInt(10); }while(randInt==0); //防止randInt为0 String everyStr; do{ char[] charArray=new char[randInt]; for(int j=0;j<randInt;j++){ Integer randInt2=random.nextInt(62); charArray[j]=str.charAt(randInt2); } everyStr=Arrays.toString(charArray); }while(this.listString.contains(everyStr));//防止字符串重复 this.listString.add(everyStr); } for (String string : this.listString) { System.out.println("加入元素:"+string); } } /** * 对List中的字符串进行排序 */ public void sort(){ Collections.sort(this.listString); System.out.println("-------------排序后--------------"); for (String string : this.listString) { System.out.println("元素:"+string); } }}  控制台输出:
-------------排序前--------------
加入元素:[b, R, 3, K, h, V, h, Y, N]
加入元素:[m, A, V]
加入元素:[T, Y, N, 7, z, 0, v, t]
加入元素:[Y, p, i, I, 6, j]
加入元素:[e, x, f, U, O, 1]
加入元素:[r, F]
加入元素:[e, X, B, z, Q, X]
加入元素:[X, 2]
加入元素:[5, o, u, q, D, H, Y]
加入元素:[u, b]
-------------排序后--------------
元素:[5, o, u, q, D, H, Y]
元素:[T, Y, N, 7, z, 0, v, t]
元素:[X, 2]
元素:[Y, p, i, I, 6, j]
元素:[b, R, 3, K, h, V, h, Y, N]
元素:[e, X, B, z, Q, X]
元素:[e, x, f, U, O, 1]
元素:[m, A, V]
元素:[r, F]
元素:[u, b]