1
resposta

Dúvida Comparator e Comparable

Eu não entendi precisamente a diferença principal desses contratos. Entendi que Comparable só pode fazer uma comparação.....e Comparator com classes auxiliares, conseguimos fazer várias comparações, ou seja assinando-o várias vezes.

Ps.: Ordem Natural seria como se fosse lá no toString que tem o seu defautl, mas com sobrecarga conseguimos mudar. E Collections.sort() só funciona com List e tal....

1 resposta

Oi Mario, tudo bem?

É bem por ai mesmo (=

Comparable: Essa interface possui um método compareTo. Um objeto comparável é capaz de se comparar com outro objeto.

Comparator: Essa interface possui dois métodos: equals e compare. Diferentemente do Comparable, o Comparator é externo ao tipo de elemento que estamos comparando. Exemplo: podemos criar várias classes separadas (que implementam o Comparator) para comparar por membros diferentes.