From dec1b3c6efc3142d66b72fca398e0f512c679b75 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Thu, 13 Oct 2005 09:19:22 +0000 Subject: [PATCH] Added a form of pickRandom that accepts a Random object. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3732 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/util/RandomUtil.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/util/RandomUtil.java b/src/java/com/threerings/util/RandomUtil.java index 8782f52f4..68dab06fc 100644 --- a/src/java/com/threerings/util/RandomUtil.java +++ b/src/java/com/threerings/util/RandomUtil.java @@ -166,6 +166,18 @@ public class RandomUtil * @return a randomly selected item. */ public static Object pickRandom (List values, Object skip) + { + return pickRandom(values, skip, rand); + } + + /** + * Picks a random object from the supplied List. The specified skip + * object will be skipped when selecting a random value. The skipped + * object must exist exactly once in the List. + * + * @return a randomly selected item. + */ + public static Object pickRandom (List values, Object skip, Random r) { int size = values.size(); if (size < 2) { @@ -173,7 +185,7 @@ public class RandomUtil "Must have at least two elements [size=" + size + "]"); } - int pick = getInt(size - 1); + int pick = r.nextInt(size - 1); for (int ii = 0; ii < size; ii++) { Object val = values.get(ii); if ((val != skip) && (pick-- == 0)) {