Junior — Middle
¿Qué tipos de datos u objetos pueden actuar como claves en diccionarios o tablas hash?
sobes.tech AI
Respuesta de la IA
En los diccionarios o tablas hash, las claves pueden ser objetos que cumplan con los siguientes requisitos:
- Tener métodos de comparación de igualdad (
equalsen Java,isEqualen Swift) y cálculo de hash (hashCodeen Java) correctamente implementados. - Ser inmutables o al menos no modificarse después de usarse como clave, para evitar problemas en la búsqueda.
En iOS (Swift), las claves en los diccionarios (Dictionary) suelen ser tipos que cumplen con el protocolo Hashable. Estos pueden ser:
- Tipos estándar:
String,Int,Double,Bool. - Estructuras o clases personalizadas que implementen el protocolo
Hashable.
Ejemplo:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Por lo tanto, las claves deben ser hashables e inmutables para el correcto funcionamiento del diccionario.