Como evitar arrays repetidos dentro de ArrayList?

Preciso criar um ArrayList para guardar arrays, mas preciso evitar que entre um array que possua valores iguais de outro array que já está no ArrayList.

[code]import java.util.ArrayList;

public class comparadora {
public static void main(String args[]) {
ArrayList guarda = new ArrayList();
int valor1[] = { 1, 2, 3, 4, 5, 6 };
int valor2[] = { 4, 2, 6, 7, 8, 9 };
int valor3[] = { 1, 2, 3, 4, 5, 6 };
int valor4[] = { 1, 2, 3, 4, 5, 6 };
guarda.add(valor1);
guarda.add(valor2);
guarda.add(valor3);
guarda.add(valor4);
comparadora p = new comparadora();
p.compara(guarda);
}

public void compara(ArrayList guarda) {
	int contador = 0;

	for (int i = 0; i < guarda.size(); i++) {
		int recupera1[] = (int[]) guarda.get(contador);
		int recupera2[] = (int[]) guarda.get(i + 1);
		int comparador[] = new int[recupera1.length];
		for (int j = 0; j < recupera1.length; j++) {
			if (recupera1[j] == recupera2[j]) {
				comparador[j] = 1;
			} else {
				comparador[j] = 0;
			}
		}
		for (int h = 0; h < comparador.length; h++) {
			System.out.print("[" + comparador[h] + "]");
		}
		System.out.println();
		// contador++;
	}
}

}[/code]

Este código que criei é bem monstruoso, compara os arrays dentro do ArrayList retornando com outro array preenchido de zeros e ums.

Alguém pode me dar uma sugestão melhor???

Não seria melhor testar se o Array já está lá dentro na hora de fazer um add? Assim você impede que um elemento duplicado entre.

Olha, como não se sabe o contexto da sua aplicação fica meio complicado de sugerir. Mas você pode fazer tanto coisas simples quanto o que o ViniGodoy sugeriu (e que funcionarão perfeitamente) como pode fazer também coisas mais complicadas como criar uma subclasse de ArrayList que o equals esteja refletindo o valor de todos os elementos na ArrayList, de forma que duas ArrayLists com objetos iguais tenham o equals igual. E aí você guarda estes objetos dentro de um Set, que já cuidará para que não existam objetos iguais dentro dele.

Dá pra fazer milhares de coisas, basta usar a criatividade :smiley:

Vou terminar este código que estou fazendo. Assim fica melhor pro pessoal que quer ajudar a entender o que preciso fazer.

Faz um bom tempo que não programo, por isso estou passando por esses apertos. :frowning: