正确实现:
注意:size必须大于1,不然没有两个
Random rand=new Random();
//[0,arrayList.size()),左闭右开
int randNumber1 =rand.nextInt(arrayList.size());
int randNumber2 =rand.nextInt(arrayList.size()-1);
if(randNumber2 >=randNumber1 ){
randNumber2 =randNumber2 +1;
}
错误实现:
Random rand=new Random();
//[0,arrayList.size()),左闭右开
int randNumber1 =rand.nextInt(arrayList.size());
int randNumber2 =rand.nextInt(arrayList.size()-1);
if(randNumber2 ==randNumber1 ){
randNumber2 =randNumber2 +1;
}
解释:randNumber1是随机的一个数,主要是看randNumber2与第一个数不同。
假设数1从[0,4)之间进行选取,可选择0,1,2,3
数2是[0,3),可选择0,1,2
存在情况,只有当数1=2 and 数2=2,这时候数2才能等于3
不合理!!!它不是随机的