I recently found myself needing to be sure my list wasn't in order. Hibernate was nice enough to return it in perfect order. Silly hibernate, not reading my mind.
I looked at my Java API and it tells me its shuffle method does this:
Randomly permutes the specified list using a default source of randomness.
Being the curious george that I am, I want to know what exactly this means. Is there a math course I can take to learn this? Can I see the code? Java, what are you doing to my ArrayList?!?!?
To be more specific, which math concepts are being used here?