2011-07-18 7 views
8

J'ai un tableau de pays. Je veux choisir 5 pays aléatoires de ma liste de tableau, mais je veux qu'ils soient uniques. C'est ce que j'ai jusqu'à présent:Choisir un élément aléatoire dans un tableau, mais unique

String allCountries[] = {"Finland", "Latvia", "Poland", "Afghanistan", "Albania", "Algeria"}; 

String country1 = (allCountries[new Random().nextInt(allCountries.length)]); 
String country2 = (allCountries[new Random().nextInt(allCountries.length)]); 
String country3 = (allCountries[new Random().nextInt(allCountries.length)]); 
String country4 = (allCountries[new Random().nextInt(allCountries.length)]); 
String country5 = (allCountries[new Random().nextInt(allCountries.length)]); 

Quelle est la meilleure façon de comparer ces chaînes tout en générant des éléments aléatoires?

Edit:

Je me suis exprimé mauvais. Le problème que j'ai, c'est que je ne veux pas que la chaîne country1, country 2, etc. soit la même ... donc je veux qu'ils soient toujours différents.

Solution:

Collections.shuffle(Arrays.asList(allCountries)); 
+3

Vous ** ne voulez pas ** qu'ils soient uniques? Si oui, pourquoi avez-vous besoin de les comparer, ce que vous avez devrait fonctionner correctement. –

+0

Votre titre et votre question sont contradictoires. Avez-vous ou ne voulez-vous pas unique? – Perception

+0

Vous ne faites pas ou vous faites? S'il vous plaît clarifier le titre contradictoire. – adarshr

Répondre

18

Mélangez le tableau, puis couper les premiers 5 éléments.

Cela garantira 5 éléments aléatoires uniques.

+1

Excellente idée ... J'ai également ajouté le code à ma question. Je vous remercie :) –

Questions connexes