1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Embaralhar dois vetores na mesma ordem JAVA

Preciso embaralhar dois vetores em java mas na mesma ordem de embaralhamento pois um vetor guarda a posição X de alguns botões e o outro guarda a posição Y, onde após embaralhar esses vetores eu possa setar as posições dos botões no meu JFrame de forma aleatória.

  • Ao invés de embaralhar dois vetores, por que não cria um objeto que armazena as coordenadas X e Y e embaralha um List (ou array) com esses objetos? Você pode inclusive tornar essa classe um atributo do seus botões. Pode até mesmo usa a classe Point, que já tem uma estrutura similar ao que seria necessário. Se esse caminho não é viável, explique melhor o efeito que deseja obter e tentaremos te orientar melhor.

    TerraSkilll   07 de mar de 2015
  • Não ajuda muito Romero pois são 2 vetores , e eles precisam ser embaralhados na mesma ordem. Eu estou tentando fazer um quebra cabeça, em um vetor eu setei as posições X e no outro a do Y , são 9 botões , eu queria que esses botões se embaralhassem entre si , pra que sempre haja mudança nas partes do quebra cabeça , tornando o jogo mais difícil por assim dizer, eu não posso mistura-los pois guardam posições X e Y , na hora de setar não saberia qual é qual , entende?

    Alison Alves   07 de mar de 2015
  • Te passei este exemplo pois, com um Comparator vc ordena uma coleção da forma que quiser. Se vc saber a ordem, com certeza saberá como implementar um Comparator.

    Romero Dias   07 de mar de 2015
  • Estes são meus vetores : int[] posicaoBotoesX = { 680, 830, 530, 830, 380, 830, 830, 230, 70 }; int[] posicaoBotoesY = { 450, 305, 450, 450, 450, 160, 20, 450, 450 };

    Eu não embaralhei eles ainda, pois preciso embaralhar os dois na mesma ordem , e depois setalos nos botões assim :

    botao1.setLocation(posicaoBotoesX[1], posicaoBotoesY[1]);

    botao2.setLocation(posicaoBotoesX[2], posicaoBotoesY[2]);

    botao3.setLocation(posicaoBotoesX[3], posicaoBotoesY[3]);

    E assim por diante..

    Alison Alves   07 de mar de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags arraylist arrays collections java ou faça a sua própria pergunta.