Comparable e Comparator

2 respostas
P

Estudando o livro da K&B,cap 7, pg 554…

não consegui compreender mto bem o propósito “Sorting with comparator”…
ora ele diz q o resultado de Comparator.compare() é o mesmo de Comparable.compareTo()

dps ele fala que no exame pode me confundir pelo fato de Comparable e Comparator serem similares…afinal, sao similares ou iguais?!quao o proposito?!

[]'s

2 Respostas

R

São similares.

Se vc escreve uma classe que implementa Comparable, vc está dizendo que o objeto dessa classe é “comparável” e pode usar o método compareTo do próprio objeto para classificar elementos daquela classe.

Se vc escreve uma classe que implementa Comparator, os objetos dessa classe servem para comparar dois outros objetos, através do método compare.

Em um sentido maior, ambos servem para a mesma coisa: sort.

Procurando as diferencas, sao mais semanticas:

  1. Um objeto de uma classe que implementa Comparable é, por si só, comparável com outros objetos (através do metodo compareTo).
  2. Um objeto de uma classe que implementa Comparator serve apenas para comparar 2 objetos.
  3. Um objeto implementando Comparable só tem uma forma de sort, que é a definida no método compareTo
  4. Você pode escrever várias classes que implementam Comparator para fazer várias ordenações diferentes.

E por aih vai.

OBS.: pq vc n criou esse topico la na seção de certificação? rss

[]'s

P

Valeu Rafael…

Esclareceu mais…vou tentar fazer alguns exemplos aqui…

não criei la, pq, sei lá… :smiley:

vlw

Criado 10 de dezembro de 2007
Ultima resposta 11 de dez. de 2007
Respostas 2
Participantes 2