Bonjour,
Qaund est ce que je dois utiliser l'interface comparable ou l'interface comparator?
Veuillez me donner un exemple concret!
Merci.
Bonjour,
Qaund est ce que je dois utiliser l'interface comparable ou l'interface comparator?
Veuillez me donner un exemple concret!
Merci.
Comparator quand tu veux implémenter un comparateur.
Comparable quand tu veux définir un ordre naturel à un type. A utiliser avec prudence et parcimonie voir même à éviter au maximum.
Merci pour ta réponse,
Est ce que je peux avoir un cas concret qui montre ce que tu viens d'expliquer.
Merci.
Si tu prends par exemple java.math.BigDecimal qui implémente Comparable.
L'ordre naturel de comparaison sera l'ordre croissant : 0, 1, 2 , 3, 4...
Mais rien ne t’empêche de faire autant de Comparator que tu veux, avec des ordres différents selon ton besoin. Ces ordres peuvent être identiques à l'ordre naturel ou différents.
Un exemple qui me semble plus parlant.
C'est la classe "Personne".
Celle-ci implémente Comparable, afin de trier les personnes dans une listes.
Sachant qu'un étudiant a toujours une date de naissance. L'ordre est donnée en fonction de l'âge.
Le jour des résultats, la classe "Prof" trie les "Personne"s en fonction de leur note. Un "Comparator".
Plus tard, un chef d'entreprise, fera la même chose, mais en fonction du salaire. Le manageur en fonction de la "Productivité".
Un Comparator est généralement, l'une des possibilités pour trier une listes. Comparable est la plus commune... ou la seule...
Cordialement,
Patrick Koldziejczyk.
Si une réponse vous a été utile pensez à![]()
Si vous avez eu la réponse à votre question, marquez votre discussion
Pensez aux FAQs et aux tutoriels et cours.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager