Sobes.tech
Junior — Middle

Може ли колекција Set да садржи елементе било ког типа података или постоје ограничења по типу?

sobes.tech АИ

Одговор од АИ

U Swift-u, kolekcija Set može sadržavati elemente bilo kojeg tipa koji odgovara protokolu Hashable. To znači da tipovi moraju moći izračunati hash kod kako bi osigurali jedinstvenost elemenata u Set-u.

Primeri dozvoljenih tipova:

  • Standardni tipovi, kao što su Int, String, Double — oni već odgovaraju Hashable.
  • Prilagođene strukture ili klase, ako implementiraju protokol Hashable.

Primer prilagođene strukture pogodna za Set:

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

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

Ako tip ne odgovara Hashable, ne može se koristiti u Set-u.