ArrayList

5 respostas
M

Ae…

Estou fazendo um programinha, que ao clicar em um botao ele gera um estado novo de uma matriz, sendo que preciso gerar varios, e nunca podem ser repetidos.
Nao sei como comparar, eu adiciono em uma ArrayList? se sim como eu comparo, com todos estados que ja foram criados??? Ou se tiver outra forma…

Vlws abcs. :wink:

5 Respostas

renzonuccitelli

Veja a API da classe SET, acho que ela já faz o que vc precisa.

renzonuccitelli

Tipo, o tipo Set não deixa vc colocar objetos repetidos nele. Assim, se você tentar inserir um objeto que retorne true para o método equals de algum dos objetos do conjunto, ele não o adiciona. Assim como List, você já tem umas classes que a implementam, como a HashSet.

M

Isso ajuda, so q eu tenho q saber quando ja tem um estado igual adicionado. Tem alguma forma de comparar, pq com try e catch n funfa pq, mesmo se ja estiver contido o estado, ele n gera nenhum erro, apenas n adiciona.

renzonuccitelli

Então usa o método contains da arrayList antes de adicionar. Ele retorna true se houver já houver um objeto igual na lista e falso caso contrário…

renzonuccitelli

Foi mal, agora que vi o que vc quer direito, se um elemento da matriz for igaul já não serve. Você poderia fazer o seguinte:

publicClass ConferidorDeMatriz(){ public boolean possuiAlgumElementoIgual(int matrizNova[][],int matrizDoVetor[][]){ for(int i=0;i< matrizNova.lenght;++i){ for(int j=0; j<matrizNova[0].lenght;++j){ if(matrizNova[i][j]==matrizDoVetor[i][j]) return true; } } return false; } }

aí basta você usar este método para todas matrizes do vetor, se para algum voltar verdadeiro, será pq você terá um estado com elemento igual.

Criado 21 de setembro de 2008
Ultima resposta 21 de set. de 2008
Respostas 5
Participantes 2