I meant that the iterator would use the shuffled and/or selected
indices to return the appropriate entry from the original array.

No need to modify the original array.


On Thu, 13 Jun 2019 at 18:15, Eric Barnhill <ericbarnh...@gmail.com> wrote:
>
> An iterator that dynamically shuffles as you go along. That's really nice,
> I had never even thought of that. Thanks.
>
> On Thu, Jun 13, 2019 at 10:11 AM Alex Herbert <alex.d.herb...@gmail.com>
> wrote:
>
> >
> > On 13/06/2019 17:56, Eric Barnhill wrote:
> > > On Thu, Jun 13, 2019 at 9:36 AM sebb <seb...@gmail.com> wrote:
> > >
> > >>
> > >> Rather than shuffle etc in place, how about various
> > >> iterators/selectors to return entries in randomised order?
> > >> [Or does that already exist?]
> > >>
> > > I am pretty sure random draws, and shuffling, are implemented with
> > > different algorithms. Though sampling without replacement the full length
> > > of the set would yield a shuffled set, I think there are more efficient
> > > ways to shuffle a set.
> >
> > Iterators to return a random draw *without* replacement over the full
> > length of the array? The iterator would dynamically shuffle the array on
> > each call to next() so could be stopped early or can be called
> > infinitely as if a continuous stream. Is that your idea?
> >
> > UniformRandomProvider rng = ...;
> > int[] big = new int[1000000];
> > //
> > // Fill big with lots of data
> > //
> > IntIterator iter = ShuffleIterators.create(rng, big);
> > int x = iter.next();
> > int y = iter.next();
> > int z = iter.next();
> >
> > This doesn't exist but it is easy to do. Memory requirements would
> > require a copy of the data, or it could be marked as destructive to the
> > input array order and shuffle in place.
> >
> > If you want a random draw *with* replacement then you can just call
> > nextInt(int) with the size of the array to pick something.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to