Java Collection Random Element selectRandom(Collection col)

Here you can find the source of selectRandom(Collection col)

Description

select Random

License

Open Source License

Declaration

@SuppressWarnings("unchecked")
    public static <T> T selectRandom(Collection<T> col) 

Method Source Code

//package com.java2s;
/*/*w  ww  .j av  a  2 s  . com*/
 * #%L
 * Tesora Inc.
 * Database Virtualization Engine
 * %%
 * Copyright (C) 2011 - 2014 Tesora Inc.
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3,
 * as published by the Free Software Foundation.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 * #L%
 */

import java.util.Collection;
import java.util.List;

public class Main {
    @SuppressWarnings("unchecked")
    public static <T> T selectRandom(Collection<T> col) {
        int selected = (int) (Math.random() * col.size());
        return (T) col.toArray()[selected];
    }

    public static <T> T selectRandom(List<T> col) {
        int selected = (int) (Math.random() * col.size());
        return col.get(selected);
    }
}

Related

  1. randomElement(Collection in)
  2. randomIterable(Collection col)
  3. rndSubset(final Collection c, final double ratio)
  4. sampleWithReplacement(Collection c, int n)
  5. selectRandom(Collection set)
  6. selectRandomSubset(Collection col, int count)
  7. uniformSample(Collection set)