Java Array Shuffle shuffle(int[] array)

Here you can find the source of shuffle(int[] array)

Description

Shuffles an integer array by the same method as in java.util.Collections.shuffle

License

LGPL

Parameter

Parameter Description
array a value of type 'int[]'

Declaration

public static void shuffle(int[] array) 

Method Source Code

//package com.java2s;
/*//  w  ww  .  ja va 2s  .  c  o  m
 * Copyright (c) 2013 mellowtech.org.
 *
 * The contents of this file are subject to the terms of one of the following
 * open source licenses: Apache 2.0 or LGPL 3.0 or LGPL 2.1 or CDDL 1.0 or EPL
 * 1.0 (the "Licenses"). You can select the license that you prefer but you may
 * not use this file except in compliance with one of these Licenses.
 *
 * You can obtain a copy of the Apache 2.0 license at
 * http://www.opensource.org/licenses/apache-2.0
 *
 * You can obtain a copy of the LGPL 3.0 license at
 * http://www.opensource.org/licenses/lgpl-3.0
 *
 * You can obtain a copy of the LGPL 2.1 license at
 * http://www.opensource.org/licenses/lgpl-2.1
 *
 * You can obtain a copy of the CDDL 1.0 license at
 * http://www.opensource.org/licenses/cddl1
 *
 * You can obtain a copy of the EPL 1.0 license at
 * http://www.opensource.org/licenses/eclipse-1.0
 *
 * See the Licenses for the specific language governing permissions and
 * limitations under the Licenses.
 */

public class Main {
    /**
     * Shuffles an integer array by the same method as in
     * java.util.Collections.shuffle
     * 
     * @param array
     *          a value of type 'int[]'
     */
    public static void shuffle(int[] array) {
        shuffle(array, new java.util.Random());
    }

    /**
     * Shuffles an integer array by the same method as in
     * java.util.Collections.shuffle
     * 
     * @param array
     *          a value of type 'int[]'
     * @param random
     *          a value of type 'java.util.Random'
     */
    public static void shuffle(int[] array, java.util.Random random) {
        int len = array.length;
        for (int i = len - 1; i > 0; i--) {
            int pos = random.nextInt(i);
            int tmp = array[i];
            array[i] = array[pos];
            array[pos] = tmp;
        }
    }

    /**
     * Shuffles an integer array by the same method as in
     * java.util.Collections.shuffle
     * 
     * @param array
     *          a value of type 'Object[]'
     */
    public static void shuffle(Object[] array) {
        shuffle(array, new java.util.Random());
    }

    /**
     * Shuffles an object array by the same method as in
     * java.util.Collections.shuffle
     * 
     * @param array
     *          a value of type 'Object[]'
     * @param random
     *          a value of type 'java.util.Random'
     */
    public static void shuffle(Object[] array, java.util.Random random) {
        int len = array.length;
        for (int i = len - 1; i > 0; i--) {
            int pos = random.nextInt(i);
            Object tmp = array[i];
            array[i] = array[pos];
            array[pos] = tmp;
        }
    }
}

Related

  1. shuffle(int[] arr)
  2. shuffle(int[] array)
  3. shuffle(int[] array)
  4. shuffle(int[] array)
  5. shuffle(int[] array)
  6. shuffle(int[] array, Random rand)
  7. shuffle(int[] array, Random rand)
  8. shuffle(int[] array, Random rnd)
  9. shuffle(int[] ary)