兄弟,假设你要取的是一个String型数组aString result; Random rd=new Random(); int i=rd.nextInt(a.length-1);//生成一个0到数组长度减1的随机数 result=a[i];至于要不能重复取,你就得把上面生成的随机数放在一个数组中,当生成行的随机数的时候再取找一下有没有这个,有的话,就取取他减一(比如随机数是3,但发现3已经被取过,这去取2直到取到0,如果还不行就取a.length-1,还不行在依次递减,这样可以保证在a.lenght次取完!)
并将已经出现的随机数纪录下来;
再取随机数,如果和已经用过的随机数相同,则重复取,直到取到没用过的位置;
当使用的随机数个数和集合的长度相等时,结束;缺点:当集合长度比较大时,取随机数的操作会重复N多次;改良:增加一个集合B。所有已经访问过的元素从原集合中删除,移到B集合中;
再用随机数对原集合进行访问……重复操作,到原集合为空为止
Random rd=new Random();
int i=rd.nextInt(a.length-1);//生成一个0到数组长度减1的随机数
result=a[i];至于要不能重复取,你就得把上面生成的随机数放在一个数组中,当生成行的随机数的时候再取找一下有没有这个,有的话,就取取他减一(比如随机数是3,但发现3已经被取过,这去取2直到取到0,如果还不行就取a.length-1,还不行在依次递减,这样可以保证在a.lenght次取完!)