Sobes.tech
Junior — Middle

Darf eine Set-Sammlung Elemente beliebigen Datentyps enthalten oder gibt es Einschränkungen hinsichtlich des Typs?

sobes.tech KI

Antwort von AI

In Swift kann eine Sammlung Set Elemente eines beliebigen Typs enthalten, der dem Protokoll Hashable entspricht. Das bedeutet, dass die Typen in der Lage sein müssen, einen Hash-Code zu berechnen, um die Einzigartigkeit der Elemente im Set zu gewährleisten.

Beispiele für zulässige Typen:

  • Standardtypen wie Int, String, Double — sie erfüllen bereits Hashable.
  • Benutzerdefinierte Strukturen oder Klassen, wenn sie das Hashable-Protokoll implementieren.

Beispiel für eine benutzerdefinierte Struktur, die für Set geeignet ist:

struct Person: Hashable {
    let id: Int
    let name: String
}

var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))

Wenn ein Typ nicht Hashable ist, kann er nicht in einem Set verwendet werden.