JAVA如何从静态的数组里随机取不重复的值
import java.util.*;
public class Random1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] c = {1,2,3,4,5};
for(int i=0;i<2;i++){
Random ran=new Random();
int ad = ran.nextInt(c.length);
int result = c[ad];
int result1 = c[ad];
System.out.println("s = "+ad);
System.out.println("s1 = "+result);
System.out.println("s2 = "+result1);
}
}
}
两个问题
1:怎么才能使得取得的值不产生重复
2:将 ad 放到 result里为什么值改变了
3:为什么 result1 和 result 的值又是一样的
------解决方案--------------------
这个就是Set的用法
- Java code
import java.util.HashSet;import java.util.Random;import java.util.Set;public class Test { public static void main(String[] args) { int[] c = { 1, 2, 3, 4, 5 }; Set<Integer> set = new HashSet<Integer>(); Random ran = new Random(); while (set.size() < 2) { set.add(c[ran.nextInt(c.length)]); } for(Integer id : set) { System.out.println(id); } }}