Select a random value from an Array
Just clubsArray[new Random().nextInt(clubsArray.length)]
would work
Or to randomize the order of elements, use List<?> clubsList=Arrays.asList(clubsArray); Collections.shuffle(clubsList);
.
Craig
Updated on May 05, 2020Comments
-
Craig about 4 years
I have an Array of number values, and I want to randomly select a value from in that array and then insert it in to an
int
variable.I'm not sure what code you will need to see. So,
Here is the
for
loop that I'm using to generate 13 numbers (1-13) and insert them in to the Array.int clubsArray []; clubsArray = new int [13]; for(int i = 0; i < clubsArray.length; i++) { clubsArray[i] = i +1; }
That works fine, but now I need to select for example 2 random values from in that array (and then insert it in to a variable to be used later on.
I've looked around on many websites and I've seen things like
ArrayList<String>
in order to insert values in to an Array and then useRandom generator = new Random()
to select the value from the array and then.remove()
to remove it from the array. But when ever I have used that it doesn't work. -
Craig over 12 yearsThank you. If I were to use this, should I then remove it from the Array also? (to prevent duplicates being chosen at a later stage)
-
danr over 12 years@Craig: Removing an element in an array is O(n), so maybe that is not what you want to do. Maybe you want to shuffle the entire array first? (as one would shuffe a deck of cards) This is how to do it in C
-
נשמה קשוחה over 12 yearsWell, probably, or instead check if the output array already has it, and if yes, chose an other one.