package csdn;import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;public class RandomTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List l = new ArrayList();
Date d = new Date();
long lo = d.getTime();
for (int i = 0; i <10; i++) {
Random r = new Random(lo);
lo++;
l.add(r.nextInt(100));
}
System.out.println(l); }}
-------------------------------------------------------------------------------------
在0到100之间产生10个不重复的数,既然是随机数,不能说绝对不重复,i越接近r.nextInt(int n))中n重复几率就越大。
谁有更好办法,产生不重复的数共享给大家,不能在外部比较。
import java.util.Date;
import java.util.List;
import java.util.Random;public class RandomTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List l = new ArrayList();
Date d = new Date();
long lo = d.getTime();
for (int i = 0; i <10; i++) {
Random r = new Random(lo);
lo++;
l.add(r.nextInt(100));
}
System.out.println(l); }}
-------------------------------------------------------------------------------------
在0到100之间产生10个不重复的数,既然是随机数,不能说绝对不重复,i越接近r.nextInt(int n))中n重复几率就越大。
谁有更好办法,产生不重复的数共享给大家,不能在外部比较。
精简下你的代码,节约点对象开支public class RandomTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List l = new ArrayList();
long lo = System.currentTimeMillis();
for (int i = 0; i <10; i++) {
Random r = new Random(lo);
lo++;
l.add(r.nextInt(100));
}
System.out.println(l); } }
将 int[] 保存为 String[] 类型
用 contants() 方法去掉重复的
时间换空间
Random rand = new Random();
while (ints.size() < 10) {
ints.add(rand.nextInt(100));
}