Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * Copyright (c) 2015-2016 IBM Corporation. All rights reserved.
 * <p/>
 * 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
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * 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.
 */

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

public class Main {
    private static Random rand = new Random(System.nanoTime());

    /**
     * Randomize the specified list.
     * @param list the list to randomize.
     * @param <E> the type of elements in the list.
     * @return a new list with all the elements of the input but in a random order.
     */
    public static <E> List<E> randomize(List<E> list) {
        List<E> tmp = new ArrayList<>(list);
        List<E> result = new ArrayList<>(list.size());
        while (!tmp.isEmpty()) {
            int n = rand.nextInt(tmp.size());
            result.add(tmp.remove(n));
        }
        return result;
    }
}