martes, 3 de febrero de 2009

Evitar recorrer listas con bucles implementando el método equals()

Cuando tenemos una lista de objetos y necesitamos comprobar que un elemento existe en ella podemos resolverlo creando un bucle(for,while,..) junto con una sentencia if que compruebe en cada iteración si el objeto existe. Una opción a esto consiste en lo siguiente:
  • Sobreescribir el método equals() de la clase de dicho objeto y establecer qué atributos se tienen en cuenta a la hora de comparar.
  • Instanciar un objeto de dicha clase con los mismos valores que el que buscamos
  • Usar el método contains(Object o) de la lista con el objeto que hemos creado para comprobar si existe uno igual
En este enlace se muestra el código de dos clases: Agenda y Persona. La clase Agenda posee un atributo de tipo List que guarda la lista de personas y posee dos métodos para comprobar si existe un elemento en la lista. El primero, existeModo1(), utiliza un bucle for para hallar el elemento y el segundo, existeModo2(), utiliza el método contains().

No hay comentarios:

Publicar un comentario