Entrar
¿No tienes cuenta? Registrarse
SoloJava · Grupo de Usuarios Java de Venezuela
? ¿Ya tienes membresía? Entra a Yahoo!

Consejos

¿Sabías que...
Puedes acompañar la descripción de tu grupo con una foto.

Mensajes

  Mensajes Ayuda
Avanzado
hashset, el metodo remove y el metodo equals   Lista de mensajes  
Responder | Reenviar Mensaje #5297 de 5378 |
Re: hashset, el metodo remove y el metodo equals

--- En SoloJava@..., Cesar Mendoza <mendoza@...> escribió:
>
> Hola,
>
> Para que le HashSet funcione se requiere que implementes el método:
> public int hashCode();
>
> HashSet usa el método hashCode para localizar el objeto que quieres
> remover. Con lo cual si el objeto que está en el HashSet y el objeto que
> pasas en el remove tienen distintos hashCode, HashSet no va a poder
> remover el objeto del Hash aunque el método equals retorne TRUE.
>
> En tu caso yo implementaría el método hashCode de la siguiente manera:
>
> public int hashCode()
> {
> return this.id;
> }
>
> Aquí estoy asumiendo que "id" es un int.
>
> También seria conveniente que cuando implementes equals tomes en cuenta
> todas las posibilidades, así te vas a evitar muchos dolores de cabeza.
>
> public boolean equals(Object obj)
> {
> if(obj == null) return false;
> if(obj instanceof MiObjeto)
> {
> MiObjeto sp=(MiObjeto)obj;
> return this.id == sp.id;
> }
> return false;
> }
>
> Bye
> Cesar Mendoza
> http://www.kitiara.org
> --
> "If I have seen further it is by standing on the shoulders of giants."
> --Isaac Newton
>
> On Wed, Mar 26, 2008 at 01:37:03PM -0000, neithblue009 wrote:
> > Buenos dias.
> > Tengo un problema con el metodo remove del hashset.
> > Necesito quitar objetos del hashset, y para definir si son o no
> > iguales comparo con el id del objeto.
> > 1-Sobreescribi el metodo equals:
> > public boolean equals(Object obj)
> > {
> > MiObjeto sp=(MiObjeto)obj;
> > if ( this.id == sp.id ) return true;
> > }
> > 2-Me comentaron que el metodo remove usa el metodo equals para poder
> > saber si existen elementos iguales, pero en realidad no esta pasando
> > por alli, de hecho me da un error. El error es manejado por DWR y no
> > tengo la descripcion.
> >
> > Por favor me gustaria que me aclararan el uso del metodo equals y el
> > metodo hashcode... y por supuesto porque no pasa el remove por el
equals.
> >
> > Gracias..
> > "Neith-->"
> >
>

Gracias
Ya funciono.




Mié, 26 de Mar, 2008 5:19 pm

neithblue009
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #5297 de 5378 |
Desplegar mensajes Autor Ordenar por fecha

Buenos dias. Tengo un problema con el metodo remove del hashset. Necesito quitar objetos del hashset, y para definir si son o no iguales comparo con el id del...
neithblue009
Sin conexión Enviar correo
26 de Mar, 2008
2:14 pm

Hola, Para que le HashSet funcione se requiere que implementes el método: public int hashCode(); HashSet usa el método hashCode para localizar el objeto que...
Cesar Mendoza
p4kscs
Sin conexión Enviar correo
26 de Mar, 2008
3:39 pm

... equals. ... Gracias Ya funciono....
neithblue009
Sin conexión Enviar correo
26 de Mar, 2008
8:16 pm
Avanzado

Copyright © 2009 Yahoo! Inc. Todos los derechos reservados.
Normativa de confidencialidad - Condiciones del servicio - Reglas - Ayuda