Sobes.tech
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.