Quero remover um objeto já existente num HashSet, mas quando eu tento removê-lo resulta em uma exceção, apesar do código não estar (aparentemente?) errado.
Eis o código:
public static void removerUsuario () {
if(usuarios.isEmpty())
System.out.println("Nao ha usuarios registrados.");
else{
String log;
Usuario u = new Usuario();
System.out.println("Digite o usuario que deseja remover: ");
log = in.nextLine();
Iterator i = usuarios.iterator(); //usuarios é o HashSet do tipo Usuário, nota: é estática
while(i.hasNext()){
u = (Usuario) i.next();
if(log.equalsIgnoreCase(u.getLogIn()) && usuarios.contains(u)) usuarios.remove(u);
}
}
}
Alguém pode me ajudar a compreender o que há de errado aí?