Junior — Middle
Vai Set kolekcija var saturēt jebkāda veida datu elementus vai ir ierobežojumi pēc veida?
sobes.tech AI
Atbilde no AI
Swift valodā kolekcija Set var saturēt jebkura veida elementus, kas atbilst protokolam Hashable. Tas nozīmē, ka tipi ir jāspēj aprēķināt hash kodu, lai nodrošinātu elementu unikālitāti Set.
Atļautie tipu piemēri:
- Standarta tipi, piemēram, Int, String, Double — tie jau atbilst Hashable.
- Lietotāja definētas struktūras vai klases, ja tās īsteno Hashable protokolu.
Piemērs lietotāja definētai struktūrai, kas ir piemērota Set:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))
Ja tips neatbilst Hashable, to nevar izmantot Set.