It's not a secret anymore!
The moose likes Beginning Java and the fly likes Need help with creating a random array. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Need help with creating a random array." Watch "Need help with creating a random array." New topic

Need help with creating a random array.

Thomas Mullane

Joined: Jan 29, 2012
Posts: 3
So first I had to create an insert method to place tracks into an array.. Got that easy enough.. Next I have to randomly mix up that array... Can get some of that but my last track is being duplicated a lot of the time.. I heed help to stop this! Here is my code!

list is the original array that the tracks were inserted into.
entryCount is the list length.
Stephan van Hulst

Joined: Sep 20, 2010
Posts: 4635

Hi Thomas,

Why don't you just use Lists instead of arrays? You will also be able to simply use the Collections.shuffle() method.

The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15093

The standard Java library already has a method to shuffle a List: Collections.shuffle(list). If you need to shuffle an array, you can use Arrays.asList(array) to wrap the array as a list.

So to shuffle your array of Track objects you could just do:

If you need to implement this yourself (for example because it's homework and you're supposed to implement it yourself), see Fisher–Yates shuffle for an explanation of a good and simple shuffling algorithm.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
wood burning stoves
subject: Need help with creating a random array.
jQuery in Action, 3rd edition