pares de exibição em ordem aleatória
Pergunta
Como posso aleatoriamente a ordem de pares? por exemplo. I ter 3 elementos armazenados na lista e.g. A, B, C -> que faz com que pares de A-B, A-C, B-C
. Como posso exibir o par em ordem aleatória?
por exemplo.
A-B, A-C, B-C
ArrayList<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
ListGenerator lg = new ListGenerator(s);
outra classe
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);
}
}
Solução
Collections.shuffle(pairsX);
Outras dicas
Eu apenas estou fornecendo-lhe o código pseudo. Digamos que você tenha três itens na lista.
- I = gerar um número aleatório entre 0 a list.size () -1
- j = Gerar um outro número aleatório semelhante.
- print seguida list.get (i) + "-" + list.get (j)
Você pode fazer isso em um loop e adicionar condições para verificar se o par assim gerada é um duplicado.
Eu estou supondo que você sabe como gerar um número aleatório entre determinados números ..
Você pode fazer algo como (Math.random () * 1000)% 3
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow