Sobes.tech
Junior — Middle

Jak poprawnie wybrać typ danych dla klucza w słowniku?

sobes.tech AI

Odpowiedź od AI

Przy wyborze typu danych dla klucza w słowniku (np. w Swift Dictionary) ważne jest, aby wziąć pod uwagę następujące kwestie:

  • Klucz musi spełniać protokół Hashable, aby słownik mógł efektywnie obliczać hash i szybko wyszukiwać elementy.
  • Zazwyczaj używa się prostych typów, takich jak String, Int, UUID, które już implementują Hashable.
  • Jeśli potrzebny jest klucz złożony, można utworzyć strukturę lub klasę implementującą Hashable i Equatable.
  • Klucze powinny być niezmiennicze (immutable), aby hash pozostał stabilny.

Przykład klucza złożonego:

struct Coordinate: Hashable {
    let x: Int
    let y: Int
}

var dict: [Coordinate: String] = [:]
dict[Coordinate(x: 10, y: 20)] = "Point A"

W związku z tym, wybieraj typy, które łatwo się haszują i jednoznacznie identyfikują element.