java从给定的数据中随机产生一定量不重复的数据
思路简单。
首先保证不重复,使用set集合存储就可以了。利用set集合的不重复特性判断重复与否。如果数据set集合中已经存在,set不会重复存储。
其次使用数组或集合存放给定数据,用生成的随机数作为下标从数组或集合中取出数据,放入set。
上代码:
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Main {
public static void main(String[] args) {
int len = 5; //想要保留的数据量
int[] nums = { 15,21,31,44,56,67,78,84,92,1330};
Set<Integer> set = new HashSet<Integer>();
Random random = new Random();
int i = 0;
while (true) {
i = random.nextInt(nums.length);
set.add(nums[i]);
if(set.size()>=len){
break;
}
}
for (int ran: set) {
System.out.println(ran);
}
}
}