/* * Created on 2004-12-3 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package test; import java.util.HashSet; import java.util.Iterator; import java.util.Random; import java.util.Date;public class Duplicate { private final int intMax = 62; private char[] ch = new char[62]; private long seed = (new Date()).getTime();
public Duplicate(){ for(int i = 0; i < 26; i++){ ch[i] = (char)(65+i); ch[i+26] = (char)(97+i); } for( int i = 0; i < 10; i++){ ch[52+i] = (char)(48+i); }
}
private String getRandId(int intLength){ Random rd = new Random(); rd.setSeed(++seed); StringBuffer sb = new StringBuffer(); for ( int i = 0; i < intLength; i++){ sb.append(ch[rd.nextInt(intMax)]); }
return sb.toString(); } public static void main(String[] args) { Duplicate dp = new Duplicate();
// start Date dateStart = new Date(); System.out.println("start:" + dateStart);
* Created on 2004-12-3
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Date;public class Duplicate {
private final int intMax = 62;
private char[] ch = new char[62];
private long seed = (new Date()).getTime();
public Duplicate(){
for(int i = 0; i < 26; i++){
ch[i] = (char)(65+i);
ch[i+26] = (char)(97+i);
}
for( int i = 0; i < 10; i++){
ch[52+i] = (char)(48+i);
}
}
private String getRandId(int intLength){
Random rd = new Random();
rd.setSeed(++seed); StringBuffer sb = new StringBuffer();
for ( int i = 0; i < intLength; i++){
sb.append(ch[rd.nextInt(intMax)]);
}
return sb.toString();
} public static void main(String[] args) {
Duplicate dp = new Duplicate();
// start
Date dateStart = new Date();
System.out.println("start:" + dateStart);
HashSet hs = new HashSet();
while(hs.size() < 200000){
String str = dp.getRandId(5);
hs.add(str);
}
// end
Date dateEnd = new Date();
System.out.println("end: " + dateEnd);
Iterator i = hs.iterator();
while(i.hasNext()){
String str = i.next().toString();
System.out.println(str);
}
}
}
end: Wed Dec 08 13:32:19 CST 2004
String str = dp.getRandId(9);也只需要3秒