NEW
Font size
Worksheets3TDS - Programação Backend - Aula 88
Total questions: 10
Worksheet time: 5mins
Qual é o objetivo principal do método `hashCode()` em uma classe Java?
Comparar dois objetos para igualdade de conteúdo.
Gerar um valor inteiro que representa o objeto para uso em estruturas de dados baseadas em hash.
Ordenar objetos em uma lista.
Converter um objeto em uma string.
Ao sobrescrever o método `equals(Object obj)` em uma classe Java, qual das alternativas abaixo representa uma prática recomendada?
Utilizar o operador `==` para comparar objetos.
Verificar se o objeto passado é do mesmo tipo da classe antes de comparar atributos.
Ignorar atributos relevantes na comparação.
Sempre retornar `true`.
Considere duas instâncias de uma classe Java, `a` e `b`. Se `a.equals(b)` for verdadeiro, qual deve ser a relação entre `a.hashCode()` e `b.hashCode()`?
Devem obrigatoriamente ser diferentes.
Devem obrigatoriamente ser iguais.
Podem ser iguais ou diferentes, não importa.
Devem ser ambos zero.
Qual das alternativas abaixo pode causar problemas de desempenho em coleções baseadas em hash, como `HashMap` ou `HashSet`?
Implementar `hashCode()` de forma que todos os objetos retornem o mesmo valor.
Utilizar todos os atributos relevantes na implementação de `hashCode()`.
Garantir que objetos iguais tenham o mesmo hash code.
Utilizar números primos na implementação de `hashCode()`.
Sobre a relação entre os métodos `equals()` e `hashCode()`, assinale a alternativa correta:
Se dois objetos têm o mesmo hash code, eles são necessariamente iguais.
Se dois objetos são iguais pelo método `equals()`, eles devem ter o mesmo hash code.
Não é necessário sobrescrever ambos os métodos juntos.
O método `hashCode()` não influencia coleções como `HashSet`.
Qual das opções abaixo representa uma implementação correta do método `equals()`?
public boolean equals(Object obj) { return this == obj; }
public boolean equals(Object obj) { if (this == obj) return true; if (obj == null || getClass() != obj.getClass()) return false; MinhaClasse other = (MinhaClasse) obj; return this.atributo.equals(other.atributo); }
public boolean equals(Object obj) { return false; }
public boolean equals(Object obj) { return true; }
Qual é o impacto de uma má implementação do método `hashCode()` em uma aplicação Java?
Pode causar exceções em tempo de execução.
Pode degradar o desempenho de coleções baseadas em hash.
Não afeta o funcionamento das coleções.
Garante que objetos nunca sejam duplicados.
Ao comparar objetos em Java, qual das alternativas abaixo é verdadeira?
O operador `==` compara o conteúdo dos objetos.
O método `equals()` pode ser sobrescrito para comparar o conteúdo dos objetos.
O método `hashCode()` é usado para ordenar objetos.
O método `equals()` não pode ser sobrescrito.
Qual das alternativas abaixo é considerada uma boa prática ao sobrescrever o método `equals()`?
Utilizar atributos mutáveis para comparação.
Garantir que o método seja simétrico, reflexivo e transitivo.
Ignorar a verificação de `null`.
Comparar apenas o endereço de memória.
Ao implementar o método `hashCode()`, qual das opções abaixo é recomendada para minimizar colisões?
Retornar sempre o mesmo valor inteiro.
Utilizar uma combinação dos atributos relevantes do objeto, preferencialmente usando números primos.
Utilizar apenas um atributo irrelevante.
Ignorar atributos importantes.
