Java Collections – A Interface Comparable

Java Collections – A Interface Comparable


Este item é parte dos tópicos sequenciais sobre Java SE: Confira.


Comparable:


  • Quando você cria uma classe, o Java não sabe dizer, qual a ordem natural para os objetos criados a partir dela. Implementar a interface Comparable é uma maneira de fazer isso.
  • O único método para o qual o contrato de interface exige implementação é o int compareTo(Object o).
  • A comparação deverá retornar 0 se os elementos forem iguais, int <0 se for menor que o objeto fornecido, ou int >0 se for maior que o objeto fornecido.

* Se você tentar usar o método Collections.sort() em uma coleção de elementos que não implementam Comparable ou sem fornecer um Comparator uma exceção do tipo CastClassException será lançada.


Implementando a interface Comparator:


// Exemplo:

Saída:

Default ordering…
Client[numero: 1, nome: Pedro]
Client[numero: 14, nome: Joao]
Client[numero: 10, nome: Alvaro]
Client[numero: 3, nome: Maria]
Client[numero: 11, nome: Tatiana]
Client[numero: 7, nome: Marcelo]
Client[numero: 9, nome: Almeida]

Comparator defined ordering…
Client[numero: 9, nome: Almeida]
Client[numero: 10, nome: Alvaro]
Client[numero: 14, nome: Joao]
Client[numero: 7, nome: Marcelo]
Client[numero: 3, nome: Maria]
Client[numero: 1, nome: Pedro]
Client[numero: 11, nome: Tatiana]

BUILD SUCCESSFUL (total time: 0 seconds)



[sc:signature_df]