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
This commit is contained in:
Ray Greenwell
2005-10-13 09:19:22 +00:00
parent bb5e7fed19
commit dec1b3c6ef
+13 -1
View File
@@ -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)) {