Junior — Middle
Que tipos de dados ou objetos podem atuar como chaves em dicionários ou tabelas hash?
sobes.tech IA
Resposta da IA
Nos dicionários ou tabelas de hash, as chaves podem ser objetos que satisfaçam os seguintes requisitos:
- Possuem métodos de comparação de igualdade (
equalsem Java,isEqualem Swift) e cálculo de hash (hashCodeem Java) corretamente implementados. - São imutáveis ou pelo menos não se alteram após serem usados como chave, para evitar problemas na busca.
No iOS (Swift), as chaves em dicionários (Dictionary) geralmente são tipos que conformam ao protocolo Hashable. Estes podem ser:
- Tipos padrão:
String,Int,Double,Bool. - Estruturas ou classes personalizadas que implementam o protocolo
Hashable.
Exemplo:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Assim, as chaves devem ser hasháveis e imutáveis para o funcionamento correto do dicionário.