Random rad =new Random(System.currentTimeMillis());//产生随机数
System.out.println(rad);
ArrayList randomArr=new ArrayList();//创建一个新集合来存储随即元素
for(int i=0;i<brand.length;i++){ //疑问1、我将brand.length改为al.size 得出结果长度会少几位?他们的长度应该一样才对啊
int index=rad.nextInt(brand.length-i);//疑问2、 对Random类不是很熟悉,Random()和nextInt()里面放的数会对产生的随机数有什么影响呢?
randomArr.add(al.get(index));
al.remove(index);//去掉集合里已抽取的元素 避免重复
}
System.out.println(randomArr);
}
下面再说一下Random()和nextInt()
Random()是构造方法,构造方法有两个其中一个是无参,另一个就是有参的Random(long seed),这个seed参数是伪随机数生成器的内部状态的初始值,调用 new Random(seed) 等效于:
Random rnd = new Random();
rnd.setSeed(seed);