Ver Mensaje Individual
  #11 (permalink)  
Antiguo 23/06/2011, 16:40
jeisongutierrez
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Problema con hashmap

Cita:
Iniciado por laOtra Ver Mensaje
Si, si, de ese error ya me dí cuenta..pero no le dí importancia, por eso no lo comenté.
Pero no entiendo lo que me comentas después.
containsKey lo uso para hacer la búsqueda, es decir, como equals, como usted bine comenta.
Pero el remove, es para eliminar el hashmap que hemos encontrado.
Por lo tanto no puedo usar o containsKey o remove..tengo que usar los dos.
No tienes que usar los dos. Estas usando el método remove() del HashMap y no necesitas preguntar si existe para borrarlo, tu código podría quedar así:

Código HTML:
MatriculaCoche ma = new MatriculaCoche(provincia,num,letras);
if (this.matriculas.remove(ma)==null){
    System.out.println("Matricula inexistente")             
}
Lo único que te falta es implementar correctamente los métodos equals() de las clases Parte y MatriculaCoche

Cita:
Iniciado por laOtra Ver Mensaje
No sé si me dices, que yo por ejemplo tengo la variable provincia, en donde tengo la provincia de la matricula, pero no sé como compararlo con ese dato concreto en el hashmap, porque no sé donde se ubica..... Esto creo que no es así...no lo entienod como hacerlo.
Lo que puedo entender a lo que me dice, es al código que tengo ya hecho.
Se trata nuevamente de lo mismo, sobreescribir el método equals() en tus clases clases Parte y MatriculaCoche, esto quiere decir que tienes que crear ese método en tus clases:

Código HTML:
public boolean equals(Object o) {
   if (!(o instanceof Parte))
      return false;
   MatriculaCoche p = (MatriculaCoche) o;
   if(p.provincia == this.provincia && p.num == this.num && p.letras == this.letras)
      return true;   
}
Esto es solo para darte una idea, pues este método depende totalmente de que variables tienen tus clases Parte y MatriculaCoche.
__________________
Saludos desde Colombia.
http://labs.distrit.co