課后練習(xí),大神幫忙看下還需要怎么優(yōu)化一下
package com.imooc_collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
/*
?* 利用Colletions.sort()方法對泛型為String類型的list進(jìn)行排序版本2:
?* 1、創(chuàng)建List<String>之后,往其中添加十條隨機(jī)字符串 2、每條字符串的長度為10以內(nèi)的隨機(jī)整數(shù)
?* 3、每條字符串的每個字符都為隨機(jī)生成的字符,字符可以重復(fù) 4、每條隨機(jī)字符串不可以重復(fù)
?*/
public class testSort2 {
private Random random;
private List<String> list;
public testSort2() {
// TODO 自動生成的構(gòu)造函數(shù)存根
random = new Random();
list = new LinkedList<>();
}
// 隨機(jī)生成字符串方法
public String randomAddString() {
String keySet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int keyLength = random.nextInt(10);
StringBuffer sbf = new StringBuffer();
for (int i = 0; i <= keyLength; i++) {
int number = random.nextInt(keySet.length());
sbf.append(keySet.charAt(number));
}
return sbf.toString();
}
// 往List中添加隨機(jī)字符串
public void addList() {
for (int i = 0; i < 10; i++) {
String addStr;
do {
addStr = randomAddString();
} while (list.contains(addStr));
list.add(addStr);
}
System.out.println("——————排序前——————");
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println("List集合中元素有:\'" + it.next()+"\'");
}
System.out.println("——————排序后——————");
Collections.sort(list);
for (String integer2 : list) {
System.out.println("元素\'" + integer2+"\'");
}
}
public static void main(String[] args) {
testSort2 ts = new testSort2();
ts.addList();
}
}
2018-03-18
看一個StringBuffer,優(yōu)先使用StringBuilder線程不安全性能略高
2018-01-19
我也是新手,看了你的代碼后!1、可以這樣來優(yōu)化
for(){ ?//控制生成10條字符串
do{
for(){ ?//控制生成長度10以內(nèi)的字符串
}
}while();
}
2、你代碼里這地方有點小問題,
baint number = random.nextInt(keySet.length()-1);才對
個人意見哈