Cita:
Iniciado por laOtra 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 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.