Equals

1 resposta
S
public class WeightedEdge {

	int weight; //peso do arco

	Vertex init, end;  //vértice de inicio e fim do arco
	
	
	//cria um arco com inicio em vo, fim em vd e peso p 

	public WeightedEdge(Vertex vo, Vertex vd, int p){
		this.init = vo;
		this.end = vd;
		this.weight = p;
	}
	
	// retorna true se o objecto ref arco igual,false caso contrário
	//2 arcos são iguais se ligarem os mesmos vértices

	public boolean equals(Object o){
		return(o.equals(this));
	}
       }

Eu tou com uma dúvida, gostava de saber se posso comparar o objecto com o arco assim.. sabendo que apenas são considerados iguais se o objecto ref arco e 2 arcos são iguais se ligarem os mesmos vertices.
Se estiver errado gostaria de ajuda para qual a solução..
Desde já o meu muito obrigado.

1 Resposta

Fabricio_Cozer_Marti

Defina os atributos do objeto que são relevantes na sua identidade.

No seu caso vc deve comparar os pontos dos vértices (init, end)
já que 2 arcos são iguais se ligarem os mesmos vértices.

Lembre-se também do contrato que rege a implementação do hashCode :wink:

Criado 3 de maio de 2006
Ultima resposta 4 de mai. de 2006
Respostas 1
Participantes 2