From 7bb7ee2ad896f1e146dfd798f795ae7fb6d3cd7e Mon Sep 17 00:00:00 2001 From: David Hoover Date: Tue, 23 Aug 2011 10:52:54 -0700 Subject: [PATCH] Support picking from arrays. --- src/main/java/com/samskivert/util/Randoms.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/samskivert/util/Randoms.java b/src/main/java/com/samskivert/util/Randoms.java index 4a6e7998..5aadbb51 100644 --- a/src/main/java/com/samskivert/util/Randoms.java +++ b/src/main/java/com/samskivert/util/Randoms.java @@ -176,6 +176,22 @@ public class Randoms return pickPluck(iterable, ifEmpty, false); } + /** + * Pick a random element from the specified array, or return ifEmpty + * if it is empty. + * + * @throws NullPointerException if the array is null. + */ + public T pick (T[] array, T ifEmpty) + { + int size = array.length; + if (size == 0) { + return ifEmpty; + } + + return array[_r.nextInt(size)]; + } + /** * Pick a random key from the specified mapping of weight values, or return * ifEmpty if no mapping has a weight greater than 0. Each