问答详情
源自:6-5 应用 Collections.sort() 实现 List 排序

我的作业(6-5)

package com.collections.sort;


import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Random;


/**

 * 练习: 利用Collections.sort()方法对泛型为String的List进行排序 版本2

 * 

 * 1.创建完List<String>之后,往其中添加十条随机字符串

 * 

 * 2.每条字符串的长度为10以内的随机整数

 * 

 * 3.每条字符串的每个字符都为随机生成的字符,字符可以重复

 * 

 * 4.每条随机字符串不可重复

 * 

 *

 */

public class CollectionsTest {

/**

* 创建List

* @param args

*/

// List是接口可以声明对象,但要通过实现类来实例化。

public List<String> string;

/**

* 在构造方法中初始化string属性

* @param args

*/

public CollectionsTest() {

this.string = new ArrayList<String>();

}


public void testStringSort() {

// 添加十条随机字符串

Random random = new Random();

String s;// 随机字符串

for (int i = 0; i < 10; i++) {// 添加十条随机字符串

do {

int s_length = random.nextInt(10);// 每条字符串的长度为10以内的随机整数

s = randomString(s_length);

} while (string.contains(s) && s != null);// 每条随机字符串不可重复

string.add(s);

System.out.println("成功添加字符串:" + s);

}


// 输出字符串

System.out.println("输出字符串随机数");

System.out.println("----------排序前----------");

for (String string2 : string) {

System.out.println("随机字符串:" + string2);

}

System.out.println("字符串进行排序");

System.out.println("----------排序后----------");

Collections.sort(string);

for (String string2 : string) {

System.out.println("随机字符串:" + string2);

}

}


public String randomString(int s_length) {

// 产生随即字符串

Random random = new Random();

StringBuffer sb = new StringBuffer();

for (int i = 0; i < s_length; i++) {

int number = random.nextInt(3);

long result = 0;

switch (number) {

case 0 :

result = Math.round(Math.random() * 25 + 65);//A-Z  A:65

sb.append(String.valueOf((char) result));

break;

case 1 :

result = Math.round(Math.random() * 25 + 97);// a-z  a:97

sb.append(String.valueOf((char) result));

break;

case 2 :

sb.append(String.valueOf(new Random().nextInt(10)));//整数0-9

break;

}

}

return sb.toString();

}


public static void main(String[] args) {

// TODO Auto-generated method stub

CollectionsTest ct = new CollectionsTest();

ct.testStringSort();

}


}


提问者:慕前端1329497 2019-03-04 20:28

个回答

  • Confused_wz
    2020-03-03 17:35:23

    我比较喜欢的一个答案?

  • backham
    2019-05-04 17:24:02

    (string.contains(s) && s != null);// 每条随机字符串不可重复    大哥这个是啥?去查查API