思考:
一、
遍历当前数组,Random.next位置下标取值放入新的数组中,为了一定随机不会取重,再加判断是否已加入过新的数组中
二、
正序或逆序遍历数组;将当前位置的元素与Random.next位置的元素调换位置
/** * 打乱数组中元素的顺序 * @param args */ public static void randomAccessArray(String[] argsArray){ String[] cloneArray = argsArray.clone(); int length = cloneArray.length ; Random random = new Random(); for(int index = 0 ; index < length ; index++){ int nextInt = random.nextInt(length); String temp = cloneArray[index]; cloneArray[index] = cloneArray[nextInt]; cloneArray[nextInt] = temp ; } for(int index = 0 ; index < length ; index++){ System.out.print(cloneArray[index]+" "); } }
三、调用工具类
/** * 调用工具类 * @param argsArray */ public static void collectionMethod(String[] argsArray){ int length = argsArray.length; Collections.shuffle(Arrays.asList(argsArray)); for(int index = 0 ; index < length ; index++){ System.out.print(argsArray[index]+" "); } }
Arrays.asList
Collections.shuffle