Estava lendo o livro da Kathy Sierra e, na página 574, que fala sobre a interface Comparator (não Comparable). Lá existe a seguinte afirmação:
“The Comparator interface gives you the capability to sort a given collection any number of different ways.”
Sendo que na próxima página, ela também afirma:
java.lang.Comparable: Only one sort sequence can be created
java.lang.Comparator: Many sort sequences can be created
O que ela quer dizer com “many sort sequences can be created” ?
significa que vc pode criar diferentes formas de comparação ex:
publicclassCliente{privateStringnomeCliente;classMyComparator1implementsComparator<Cliente>{//uma forma de compararpublicintcompare(Clientec1,Clientec2){return0;}}classMyComparator2implementsComparator<Cliente>{//uma outra forma de compararpublicintcompare(Clientec1,Clientec2){return0;}}//ex de usopublicvoidtestar(){//cria um conjunto com uma determinada forma de comparaçãoTreeSet<Cliente>conjunto1=newTreeSet<Cliente>(newMyComparator1());//cria um segundo conjunto com a outra forma de comparaçãoTreeSet<Cliente>conjunto2=newTreeSet<Cliente>(newMyComparator2());//fazer algo}publicstaticvoidmain(String[]args){newCliente().testar();}}
reparou, dentro de uma classe eu criei 2 formas diferentes de comparar dados, sendo que quando vc implementa Comparable vc só terá uma forma…