Junior — Middle
Millistel juhtudel on otstarbekas kasutada teie projektis Comparable liidest?
sobes.tech AI
Vastus AI-lt
Võrdlusüsteem Comparable on kasulik, kui on vaja määrata teie klassi objektide loomulik järjekord, et neid saaks otse sorteerida või võrrelda. Näiteks, kui teil on andmemudel koos numbrilise või tähestikulise väljal, mille järgi on loogiline objekte järjestada (näiteks kuupäevad, nimed, hinnangud), võimaldab Comparable rakendamine kasutada standardseid sorteerimis- ja võrdlusmeetodeid.
Näide: mudelklass Comparable-iga nime järgi sorteerimiseks:
class Person: Comparable {
var name: String
init(name: String) {
self.name = name
}
static func < (lhs: Person, rhs: Person) -> Bool {
return lhs.name < rhs.name
}
static func == (lhs: Person, rhs: Person) -> Bool {
return lhs.name == rhs.name
}
}
let people = [Person(name: "Иван"), Person(name: "Анна")]
let sortedPeople = people.sorted() // Sorteerib nime järgi
Seega on Comparable kasulik objektide sorteerimise ja võrdlemise lihtsustamiseks kogumikes.