JAVA如何从静态的数组里随机取不重复的值
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);
}
}
}