Here you can find the source of shuffle(final Object[] array)
public static void shuffle(final Object[] array)
//package com.java2s; /*/*from www . jav a 2s .c o m*/ * @(#)$Id: ArrayUtils.java 3619 2008-03-26 07:23:03Z yui $ * * Copyright 2006-2008 Makoto YUI * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Contributors: * Makoto YUI - ported from jakarta commons lang */ import java.util.Random; public class Main { public static void shuffle(final Object[] array) { final Random r = new Random(); final int limit = array.length; for (int i = 0; i < limit; ++i) { swap(array, i, r.nextInt(limit)); } } public static void shuffle(final int[] array) { final Random r = new Random(); final int limit = array.length; for (int i = 0; i < limit; ++i) { swap(array, i, r.nextInt(limit)); } } public static void shuffle(final Object[] array, final long seed) { final Random r = new Random(seed); final int limit = array.length; for (int i = 0; i < limit; ++i) { swap(array, i, r.nextInt(limit)); } } public static void swap(final Object[] array, final int i, final int j) { Object o = array[i]; array[i] = array[j]; array[j] = o; } public static void swap(final int[] array, final int i, final int j) { int o = array[i]; array[i] = array[j]; array[j] = o; } }