summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java
index ecd4e36..4313360 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java
@@ -1,9 +1,9 @@
package bjc.utils.gen;
import java.util.Random;
-
import bjc.utils.funcdata.FunctionalList;
import bjc.utils.data.GenHolder;
+import bjc.utils.data.Pair;
/**
* Represents a random number generator where certain results are weighted more heavily than
@@ -65,4 +65,21 @@ public class WeightedRandom<E> {
return res.held;
}
+
+ /**
+ * Return a list containing values that can be generated paired
+ * with the probability of those values being generated
+ * @return A list of pairs of values and value probabilities
+ */
+ public FunctionalList<Pair<Integer, E>> getValues() {
+ return probs.pairWith(results);
+ }
+
+ /**
+ * Return a list of values that can be generated by this generator
+ * @return A list of all the values that can be generated
+ */
+ public FunctionalList<E> getResults() {
+ return results;
+ }
}