0
votes

Cas d'utilisation de comparaison 'comparète'

8.8, "Force Awakens", 2015

0 commentaires

3 Réponses :


2
votes

Voici la documentation de collections.sort (..) méthode, voici ce qu'il dit:

Trie la liste spécifiée en ordre croissant, en fonction de l'ordre naturel de ses éléments. Tous les éléments de la liste doivent mettre en œuvre l'interface comparable. En outre, tous les éléments de la liste doivent être mutuellement comparables (c'est-à-dire E1.comPareto (E2) ne doivent pas lancer une clascastexception pour tous les éléments E1 et E2 de la liste).

Et c'est ainsi que le tri est effectué:

Cette implémentation décharge la liste spécifiée dans un tableau, trie le Array et compter sur la liste réinitialisant chaque élément de la position correspondante dans le tableau. Cela évite le journal n2 (n) performance qui résulterait de la tentative de trier une liste liée dans Place.

Alors oui, vous avez donc raison. Il reprend chaque élément de la liste et la compare avec d'autres éléments utilisant comparèteo .


1 commentaires

Merci pour l'entrée.



0
votes

Pensez simplement à quelque chose comme le tri des bulles, chaque élément est comparé à d'autres éléments, puis leurs positions sont échangées si elles sont en mauvais ordre. Ici comparèteo est utilisé pour faire cette comparaison.


1 commentaires

Merci pour l'entrée.



0
votes

classe film code> a un comparèteo code> méthode définie de telle que Ce film code> est considéré comme "plus grand" que autre code> film Si Ce film code> a été publié dans une année ultérieure que Autre film code>. S'ils sont sortis la même année, ils sont considérés comme égaux. Si Autre film code> est sorti ultérieurement, il est considéré comme "plus petit".

Exemple h2>

comparer des films ceci = (8.8, "FORCE AWAKENS", 2015) et autre = (7.7, "Star Wars", 1977) CODE>: P>

return this.year - other.year
return 2015 - 1977
return 38 // i.e. this > other


1 commentaires

Merci pour l'entrée.