質問
ペアの順序をランダム化するにはどうすればよいですか? 例えばリストに3つの要素が保存されていますA、B、C-> A-B、A-C、B-Cのペアを作成します。
ペアをランダムな順序で表示するにはどうすればよいですか? 例えば A-B、A-C、B-C または B-C、A-B、A-C または A-C、A-B、B-C
ArrayList<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
ListGenerator lg = new ListGenerator(s);
その他のクラス
public class ListGenerator {
private ArrayList<String> pairsX= new ArrayList<String>();
public ListGenerator(ArrayList<String> list) {
int size = list.size();
int count_pairs = 0;
// create a list of all possible combinations
for(int i = 0 ; i < size ; i++)
{
String s1 = ""+i;
for(int j = (i+1) ; j < size ; j++)
{
count_pairs++;
String s2 = ""+j;
pairsX.add(s1+","+s2);
}
}
System.out.println("numPairs "+count_pairs);
for(String s : pairsX) {
System.out.println(s);
}
}
解決
Collections.shuffle(pairsX);
他のヒント
私はあなたに擬似コードを提供しています。リストに3つのアイテムがあるとします。
- i = 0からlist.size()-1の間の乱数を生成します
- j =同様に別の乱数を生成します。
- 次に印刷 list.get(i)+&quot;-&quot; + list.get(j)
これをループで実行し、条件を追加して、生成されたペアが重複しているかどうかを確認できます。
特定の数の間で乱数を生成する方法を知っていると仮定しています。
(Math.random()* 1000)%3のようなことができます
所属していません StackOverflow