Junior — Middle
Em que casos é aconselhável usar a interface Comparable no seu projeto?
sobes.tech IA
Resposta da IA
A interface Comparable é útil quando é necessário determinar a ordem natural dos objetos da sua classe para que possam ser classificados ou comparados diretamente. Por exemplo, se tiver um modelo de dados com um campo numérico ou alfabético pelo qual faz sentido ordenar os objetos (por exemplo, datas, nomes, classificações), a implementação de Comparable permitirá usar métodos padrão de ordenação e comparação.
Exemplo: classe de modelo com Comparable para ordenar por nome:
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() // Ordena pelo nome
Assim, Comparable é útil para simplificar a ordenação e comparação de objetos em coleções.