Closed HayaneWakayama closed 10 months ago
Oi, @HayaneWakayama. Tudo bem? (:
Então, acredito que o "erro" esteja na classe Convidado
.
Tipo, você definiu qual atributo da classe Convidado
através dos métodos equals
and hascode
irá definir quando o elemento é único?
public class Convidado {
//atributos
private String nome;
private int codigoConvite;
public Convidado(String nome, int codigoConvite) {
this.nome = nome;
this.codigoConvite = codigoConvite;
}
public String getNome() {
return nome;
}
public int getCodigoConvite() {
return codigoConvite;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Convidado convidado)) return false;
return getCodigoConvite() == convidado.getCodigoConvite();
}
@Override
public int hashCode() {
return Objects.hash(getCodigoConvite());
}
@Override
public String toString() {
return "Convidado{" +
"nome='" + nome + '\'' +
", codigoConvite=" + codigoConvite +
'}';
}
}
Na classe acima, estou definindo que o código do convite ele é único. Então se eu tentar adicionar 2 convidados com o mesmo código de convite, não vai funcionar. Não vai dar erro e não modifica o Set.
O certo não seria cada convidado ter um código único? Ou você está definindo outro atributo para ser único?
Oii, consegui resolver!! Obrigada 👍
Olá Cami, não sei o que estou fazendo errado, talvez seja algo simples que não vi. Mas no momento da remoção, todos os convidados com mesmo código estão sendo removidos. Pensei que fosse algo com break.