Colecoes

Comparable

Implementando a Interface Comparable

Java Collections - Comparable

A interface Comparable é uma parte fundamental do framework de coleções em Java. Ela permite que objetos de uma classe sejam comparados entre si e ordenados de acordo com uma ordem natural.

Vamos criar um exemplo simples utilizando a classe Pessoa. Suponha que queremos ordenar uma lista de pessoas pelo seu nome.

import java.util.*;

public class Pessoa implements Comparable<Pessoa> {
    String nome;
    Integer idade;

    public Pessoa(String nome, Integer idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

    public Integer getIdade() {
        return idade;
    }

    public String toString() {
        return "Pessoa{" +
                "nome='" + nome + '\'' +
                ", idade=" + idade +
                '}';
    }

    public int compareTo(Pessoa outraPessoa) {
        return this.nome.compareTo(outraPessoa.getNome());
    }
}

No exemplo acima, a classe Pessoa implementa a interface Comparable, fornecendo uma implementação para o método compareTo. Este método compara as pessoas com base em seus nomes. Ao chamar Collections.sort(pessoas), a lista de pessoas é ordenada pelo nome.

✔️ Conclusão
A interface Comparable é útil quando queremos definir uma ordem natural para os objetos de uma classe, facilitando a ordenação e a comparação em diversas situações.