2011-07-18 19 views
8

私は国の配列を持っています。私は配列リストから5つのランダムな国を選びたいと思っていますが、それらをユニークにしたいのです。 これは私がこれまで持っているものです。配列からランダムな要素を選択しますが、一意です

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

ランダム要素を生成しながら、それらの文字列を比較するための最良の方法は何ですか?

編集:

私が悪い自分自身を表明しました。私が持っている問題は、文字列country1、country2などが同じであることを望まないということです。だから私はそれらを常に異なったものにしたいと思っています。

対処:

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

あなたは**それらをユニークにしたくないですか?もしそうなら、なぜあなたはそれらを比較する必要がありますか、あなたが持っているものはうまく動作するはずです。 –

+0

タイトルと質問が矛盾しています。一意にしたいのですか? – Perception

+0

あなたはしていないか、あなたはしていますか?矛盾するタイトルを明確にしてください。 – adarshr

答えて

18

配列をシャッフルした後、最初の5つの要素をスライス。

これは5つのユニークなランダム要素を保証します。

+1

優れたアイデア...私も自分の質問にコードを追加しました。ありがとうございました :) –

関連する問題