Отображать пары в случайном порядке
Вопрос
Как я могу рандомизировать порядок пар? например У меня есть 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);
Другие советы
Я просто предоставляю вам псевдокод. Скажем, у вас есть три элемента в списке.
<Ол>Вы можете сделать это в цикле и добавить условия, чтобы проверить, является ли созданная пара дубликатом.
Я предполагаю, что вы знаете, как генерировать случайное число между определенными числами ..
Вы можете сделать что-то вроде (Math.random () * 1000)% 3
Не связан с StackOverflow