title: Java's Collections.shuffle is doing what?
body: <p>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.</p>
  
  <p>I looked at my Java API and it tells me its shuffle method does this:</p>
  
  <p><b>Randomly permutes the specified list using a default source of randomness.</b></p>
  
  <p>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?!?!?</p>
  
  <p>To be more specific, which math concepts are being used here?</p>