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:
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user