Colecoes
Comparator
Ampliando as formas de comparação
Java Collections - Comparator
Aprenderemos anteriormente que um objeto para ser comparado ele precisa ser comparável (implementar Comparable
). Mas e quando este mesmo objeto tiver a necessidade de ser comparado/classificado de maneiras diferentes e preferencialmente dinamicamente?
Vamos imaginar que os mesmos objetos originados da mesma classe Pessoa necessitem ser classificados hora pelo seu nome outra hora pela idade?
ℹ️ Informação
Este é o fator para escolher que sua classe implemente Comparable ou criar seus inúmeros Comparators.
Este é o fator para escolher que sua classe implemente Comparable ou criar seus inúmeros Comparators.
public class 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;
}
@Override
public String toString() {
return "Pessoa{" +
"nome='" + nome + '\'' +
", idade=" + idade +
'}';
}
}