例如:给定【“3574”,“352”,“3572”,“3521”,“214”,“2125215”】, 抽取其中几个不重复的返回,注意是下标不重复,不是值不重复。
* @Param arr[] 数组
* @param num 随机返回几个数
import java.util.*;
public class ArrayUtils {
public static String[] getArrByRand(String [] arr , int num) {
if(arr.length<=num){
return arr;
} else {
List<Integer> index = new ArrayList<Integer>();
Random random = new Random();
Math.random();
//在数组大小之间产生一个随机数 j
int j;
while (index.size() < num) {
j = random.nextInt(arr.length);
if (!index.contains(j)) {
index.add(j);
}
}
if(index.size()==num){
String[] newArr = new String[num];
int n = 0;
for (int i:index){
newArr[n] = arr[i];
n++;
}
return newArr;
}
return null;
}
}
public static void main(String[] args) {
String[] a = new String[]{"3574","352","3572","3521","214","2125215"};
String[] ar = getArrByRand(a,4);
for (String b : ar){
System.out.println(b);;
}
}
}