Select a random value from an Array

2019-01-18 14:36发布

问题:

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 use Random 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.

回答1:

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);.