To get a random item from any java.util.List (using generics) I get:
WARNING: The following code is NOT tested.
package forums;
import java.util.List;
import java.util.Random;
public final class ListHelper<T>
{
private static final Random RANDOM = new Random();
public T getRandom(List<T> list) {
return list.get(RANDOM.nextInt(list.size()));
}
}
... or you may prefer the non-generics solution, which can be static, but requires you to typecast the result of getRandom every time (everywhere) you call it
package forums;
import java.util.List;
import java.util.Random;
public final class Lists
{
private static final Random RANDOM = new Random();
public static Object getRandom(List list) {
return list.get(RANDOM.nextInt(list.size()));
}
}
Cheers. Keith.