javaalgorithmrandomset

Picking a random element from a set


How do I pick a random element from a set? I'm particularly interested in picking a random element from a HashSet or a LinkedHashSet, in Java.


Solution

  • int size = myHashSet.size();
    int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this
    int i = 0;
    for(Object obj : myhashSet)
    {
        if (i == item)
            return obj;
        i++;
    }