2011-07-18 18 views
8

Ülkemde bir dizi var. Dizi listemden 5 rastgele ülke seçmek istiyorum, ancak bunların benzersiz olmasını istiyorum.Diziden rasgele öğe seçin, ancak benzersiz

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

rastgele unsurları oluştururken bu dizeleri karşılaştırmak için en iyi yolu nedir: Bu defa ne var?

Düzenleme:

Kendimi kötü ifade etti. Sahip olduğum sorun, ülke1, ülke 2 vb .'nin aynı olmasını istememem. Bu yüzden onların her zaman farklı olmasını istiyorum.

Çözüm:

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

Siz ** onların benzersiz olmalarını istemiyor musunuz? Eğer öyleyse neden onları karşılaştırmanız gerekiyor, neye dikkat etmelisiniz. –

+0

Başlığınız ve sorunuz çakışıyor. Kendin istemiyor musun, istemiyor musun? – Perception

+0

Yapmıyor musunuz? Lütfen çelişen başlığı açıklığa kavuşturun. – adarshr

cevap

18

dizi karıştır ve daha sonra ilk 5 elemanları dilim.

Bu, 5 benzersiz rastgele öğeyi garanti eder.

+1

Mükemmel bir fikir ... Kodu da soruma ekledim. Teşekkür ederim :) –

İlgili konular