随机输出完一个有序的数组,不能有重复输出

public static void main(String[] args) {


//随机输出完一个有序的数组,不能有重复输出的数

Integer[] arr = new Integer[20];

for (int i = 0; i < 20; i++) {

arr[i]=i+1;

}

List li=new ArrayList(Arrays.asList(arr));

Map mp=new HashMap();

//第一种方式

while(true){

int num= (int) Math.floor(Math.random()*li.size());

if(mp.get(num+"")==null){

System.out.println(arr[num]);

mp.put(""+num, num);

}

if(mp.size()==arr.length){

break;

}

}

System.out.println("**********************");

//第二总方式

int size=li.size();

for (int i=0;i<size;i++) {

Integer index=(int) Math.floor(Math.random()*li.size());

System.out.println(li.get(index));

li.remove(li.get(index));

}

}

你可能感兴趣的:(随机输出)