French subtitles

← Implémentation de Comparable - Introduction à la programmation en Java

21-35 Implémentation de Comparable

Get Embed Code
6 Languages

Showing Revision 2 created 05/24/2018 by Michel Smits.

  1. Comme les chaînes sont comparables,
  2. nous pouvons les trier en
    écrivant une ligne de code.
  3. Si je crée un vecteur de chaînes,
  4. que j'ajoute un tas de choses
    dans n'importe quel ordre
  5. et que je veux les imprimer
    par ordre alphabétique,
  6. je peux ajouter la ligne
    collections.sort(strings).
  7. Collections est une classe
    un peu comme Arrays
  8. qui a quelques méthodes
    utilitaires utiles.

  9. Si je compile et exécute ce code,
  10. il affichera tous les animaux que
    j'ai ajoutés à la liste, mais de A à W.
  11. Nous pourrions être capable
    de trier des pays ainsi.
  12. Disons que les pays sont naturellement
    classés par leurs régions.
  13. Implémentons la méthode
    compareTo pour les pays.
  14. Je veux être en mesure de créer
    un tableau de pays comme celui-ci,
  15. puis utiliser la méthode
    sort dans la classe Arrays
  16. pour trier tous les pays du tableau,
    afin que cela fonctionne.
  17. Implémentons la méthode
    comparable pour les pays.
  18. Nous devrons rendre
    le pays mesurable et comparable.
  19. La méthode devrait être
    publique et renvoyer un int.
  20. Cela s'appelle compareTo,
    et il faut un objet, otherObject.
  21. Maintenant, si nous voulons
    comparer otherObject à cet objet,
  22. ce que nous devrons
    d'abord faire est de vérifier
  23. si otherObject a réellement
    un nom et une région.
  24. Si otherObject n'est pas un pays,
  25. il n'est pas vraiment logique
    de le comparer à ce pays.

  26. Si vous continuez à étudier Java,
  27. vous saurez comment éviter ce transtypage
    grace aux génériques.
  28. Pour l'instant, concentrons-nous
    sur la méthode compareTo.
  29. Pour l'instant, remplissez le code,
    de sorte que compareTo fonctionne
  30. comme je l'ai déjà décrite pour les pays,
  31. renvoyer un nombre négatif si
    ce pays est plus petit que l'autre,
  32. positif est ce pays est plus grand,
    0 si les deux pays sont égaux.
  33. Et notez que j'ai implémenté
    .equals pour vous.

  34. Donc, vous pouvez l'utiliser.
  35. Et si les pays ont exactement
    la même taille,
  36. vous pouvez rompre
    les liens en utilisant le nom.

  37. Pouvez-vous remplir le reste pour moi?