我如何随机化对的顺序? 例如我在列表中存储了3个元素,例如A,B,C - &gt;它产生A-B,A-C,B-C对。</ p>
如何以随机顺序显示对? 例如 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);
}
}
答案 0 :(得分:6)
Collections.shuffle(pairsX);
答案 1 :(得分:0)
我只是提供伪代码。假设列表中有三个项目。
您可以在循环中执行此操作并添加条件以验证这样生成的对是否是重复的。
我假设您知道如何在某些数字之间生成随机数..
您可以执行类似(Math.random()* 1000)%3
的操作