2011-07-18 59 views
8

Tôi có nhiều quốc gia. Tôi muốn chọn 5 quốc gia ngẫu nhiên từ danh sách mảng của mình, nhưng tôi muốn họ là duy nhất. Đây là những gì tôi có cho đến thời điểm này:Chọn phần tử ngẫu nhiên từ mảng, nhưng duy nhất

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

Cách tốt nhất để so sánh các chuỗi đó khi tạo thành phần tử ngẫu nhiên là gì?

Edit:

tôi bày tỏ bản thân mình xấu. Vấn đề tôi có là tôi không muốn chuỗi country1, quốc gia 2, vv .. giống nhau ... vì vậy tôi muốn chúng luôn khác nhau.

Giải pháp:

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

Bạn ** không ** muốn chúng là duy nhất? Nếu vậy tại sao bạn cần phải so sánh chúng, những gì bạn có nên làm việc tốt. –

+0

Tiêu đề và câu hỏi của bạn mâu thuẫn. Bạn hay bạn không muốn duy nhất? – Perception

+0

Bạn không hoặc bạn làm? Vui lòng làm rõ tiêu đề mâu thuẫn. – adarshr

Trả lời

18

Xáo mảng và sau đó cắt 5 yếu tố đầu tiên.

Điều này sẽ đảm bảo 5 yếu tố ngẫu nhiên duy nhất.

+1

Ý tưởng tuyệt vời ... Tôi cũng đã thêm mã vào câu hỏi của mình. Cảm ơn bạn :) –

Các vấn đề liên quan