public class ListSampler
extends java.lang.Object
List
.
This class also contains utilities for shuffling a List
in-place.Modifier and Type | Method | Description |
---|---|---|
static <T> java.util.List<T> |
sample(org.apache.commons.rng.UniformRandomProvider rng,
java.util.List<T> collection,
int k) |
Generates a list of size
k whose entries are selected
randomly, without repetition, from the items in the given
collection . |
static <T> void |
shuffle(org.apache.commons.rng.UniformRandomProvider rng,
java.util.List<T> list) |
Shuffles the entries of the given array.
|
static <T> void |
shuffle(org.apache.commons.rng.UniformRandomProvider rng,
java.util.List<T> list,
int start,
boolean towardHead) |
Shuffles the entries of the given array, using the
Fisher-Yates algorithm.
|
public static <T> java.util.List<T> sample(org.apache.commons.rng.UniformRandomProvider rng, java.util.List<T> collection, int k)
k
whose entries are selected
randomly, without repetition, from the items in the given
collection
.
Sampling is without replacement; but if the source collection contains identical objects, the sample may include repeats.
T
- Type of the list items.rng
- Generator of uniformly distributed random numbers.collection
- List to be sampled from.k
- Size of the returned sample.java.lang.IllegalArgumentException
- if k <= 0
or
k > collection.size()
.public static <T> void shuffle(org.apache.commons.rng.UniformRandomProvider rng, java.util.List<T> list)
T
- Type of the list items.rng
- Random number generator.list
- List whose entries will be shuffled (in-place).shuffle(UniformRandomProvider,List,int,boolean)
public static <T> void shuffle(org.apache.commons.rng.UniformRandomProvider rng, java.util.List<T> list, int start, boolean towardHead)
start
and pos
parameters select which part
of the array is randomized and which is left untouched.T
- Type of the list items.rng
- Random number generator.list
- List whose entries will be shuffled (in-place).start
- Index at which shuffling begins.towardHead
- Shuffling is performed for index positions between
start
and either the end (if false
) or the beginning
(if true
) of the array.Copyright © 2016–2018 The Apache Software Foundation. All rights reserved.