抽取前十,水塘抽样
public class sample {
//定义数据集N
//取前十数据到新数组M
//从10以后遍历数据集N下标,以下标为界限生成随机数0-下标
//如果随机数小于10,则修改随机数对应的新数组N的元素值为界限
public static void main(String[] args){
int s=1000;
int[] N = new int[s];
int k=10;
int[] M = new int[k];
for(int i=0;i<s;i++){
N[i]=i;
}
for(int i=0;i<k;i++){
M[i]=N[i];
}
for(int i=k;i<N.length;i++){
Random random = new Random();
int j = random.nextInt(i);
if(j<k){
M[j]=N[i];
}
}
for(int i=0;i<M.length;i++){
System.out.println(M[i]);
}
}
}