public static < T > Iterator < T > getRandomIterator ( Iterable < T > c ) { return getRandomIterator ( c . iterator ( ) ) ; }
Get an Iterator over the supplied Iterable that returns the elements in a completely random order . Normally Iterators return elements in an undefined order but it is usually the same between different invocations as long as the underlying Iterable has not changed . This method mixes things up .