T
- Type of items in the collection.public class DiscreteProbabilityCollectionSampler<T>
extends java.lang.Object
CollectionSampler
.Constructor | Description |
---|---|
DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng,
java.util.List<T> collection,
double[] probabilities) |
Creates a sampler.
|
DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng,
java.util.Map<T,java.lang.Double> collection) |
Creates a sampler.
|
Modifier and Type | Method | Description |
---|---|---|
T |
sample() |
Picks one of the items from the collection passed to the constructor.
|
public DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng, java.util.Map<T,java.lang.Double> collection)
rng
- Generator of uniformly distributed random numbers.collection
- Collection to be sampled, with the probabilities
associated to each of its items.
A (shallow) copy of the items will be stored in the created instance.
The probabilities must be non-negative, but zero values are allowed
and their sum does not have to equal one (input will be normalized
to make the probabilities sum to one).java.lang.IllegalArgumentException
- if collection
is empty, a
probability is negative, infinite or NaN
, or the sum of all
probabilities is not strictly positive.public DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng, java.util.List<T> collection, double[] probabilities)
rng
- Generator of uniformly distributed random numbers.collection
- Collection to be sampled.
A (shallow) copy of the items will be stored in the created instance.probabilities
- Probability associated to each item of the
collection
.
The probabilities must be non-negative, but zero values are allowed
and their sum does not have to equal one (input will be normalized
to make the probabilities sum to one).java.lang.IllegalArgumentException
- if collection
is empty or
a probability is negative, infinite or NaN
, or if the number
of items in the collection
is not equal to the number of
provided probabilities
.public T sample()
Copyright © 2016–2018 The Apache Software Foundation. All rights reserved.