cami-la / collections-java-api-2023

Este repositório é referente ao curso "Collection Framework API Java" e é uma valiosa contribuição para a comunidade de desenvolvedores Java, fornecendo exemplos práticos e recursos educacionais relacionados à poderosa API de coleções da linguagem Java.
https://web.dio.me/course/conhecendo-collections-java/learning/c5d6f4e1-6d05-4eea-93d8-d292c708999f
1.05k stars 766 forks source link

Duvida sobre implementação classe Compare #49

Open felipreis opened 5 months ago

felipreis commented 5 months ago

Olá Camila espero que esteja bem!

Bom, fiquei com dúvida em relação a implementação da classe Comparator no exercício de Ordenar pessoas por alturas, por ela se tratar de uma interface eu poderia estar implementando ela já na classe Pessoa juntamente com a classe Comparable? ficando o codigo desse modo:

public class Pessoa implements Comparable, Comparator{

}

A necessidade de criar outra classe está ligado ao fato que ele oferece multiplas sequencias de ordenação e então dentro dessa classe que o implementa podemos definir aas múltiplas sequencias?

VzinCoder commented 5 months ago

"A necessidade de criar outra classe está ligado ao fato que ele oferece multiplas sequencias de ordenação" Sim. "dentro dessa classe que o implementa podemos definir aas múltiplas sequencias?" nao, pois para classse só é possivel implementar um metodo compare ;)

VzinCoder commented 5 months ago

" por ela se tratar de uma interface eu poderia estar implementando ela já na classe Pessoa juntamente com a classe Comparable?" No entanto, isso mudaria o sentido da implementação. O Comparable indica que 'Eu sei como comparar instâncias de minha própria classe', enquanto o Comparator indica que 'Eu sei como comparar instâncias de qualquer classe, não apenas da minha'."

cami-la commented 5 months ago

Oi, @felipreis. Tudo certinho?

Então, eu respondi uma dúvida parecida sobre Comparator X Comparable para outro colega: https://github.com/cami-la/collections-java-api-2023/issues/11#issuecomment-1684904278

Se ainda restar dúvidas, é só falar.

Obrigada, @VzinCoder. Por sua ajuda nas issues.