Sobes.tech
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 (equals en Java, isEqual en Swift) y cálculo de hash (hashCode en 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.