Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Collections.sort

4 réponses
Avatar
Cenekemoi
Bonjour,

après quelques recherches infructueuses (il est vrai que je suis
lamentable en anglais), je n'ai pas réussi à avoir la réponse à cette
question:

Soit :

<code>
java.util.Comparator c = new java.util.Comparator() {
public int compare(Object o1, Object o2) {
try {
if (test1) return 1
else
if (test2) return -1
else
return 0;
} catch (Exception ignore) {
}
return 0;
}
};

Collections.sort(tab, c);
</code>

"tab" est une array mais peu importe.

Mon interrogation est celle-ci: est-ce que le "return 0" dans une
fonction "Comparator" *garantit* que l'ordre initial soit conservé ?

(c'est le cas en JavaScript d'après la doc que j'ai trouvée)

Merci d'avance pour vos lumières

--
Cordialement, Thierry ;-)

4 réponses

Avatar
Mayeul
Cenekemoi wrote:
Mon interrogation est celle-ci: est-ce que le "return 0" dans une
fonction "Comparator" *garantit* que l'ordre initial soit conservé ?

(c'est le cas en JavaScript d'après la doc que j'ai trouvée)



Effectivement il va falloir bosser l'anglais :).

Trouvé directement dans la JavaDoc de
Collections.sort(List, Comparator):

This sort is guaranteed to be /stable/: equal elements will not be
reordered as a result of the sort.

Qui se traduit grosso-modo par :

Ce tri est garanti /stable/ (euh... C'est quoi le terme français
correct?) : l'ordre des éléments égaux ne sera pas changé par le tri.

--
Mayeul
Avatar
Cenekemoi
"Mayeul" a écrit dans le message de
news:4b17d2f4$0$30625$
Cenekemoi wrote:
Mon interrogation est celle-ci: est-ce que le "return 0" dans une
fonction "Comparator" *garantit* que l'ordre initial soit conservé ?

(c'est le cas en JavaScript d'après la doc que j'ai trouvée)



Effectivement il va falloir bosser l'anglais :).



Caramba, ye suis démasqué !...

Trouvé directement dans la JavaDoc de
Collections.sort(List, Comparator):

This sort is guaranteed to be /stable/: equal elements will not be
reordered as a result of the sort.



Ben oui c'est évident, et pourtant je l'ai lu mais je pense comprendre
mon erreur: je me suis surtout approfondi sur le JavaDoc de l'interface
"java.util.Comparator" où n'apparait pas une phrase si compréhensible
pour moi...

Qui se traduit grosso-modo par :

Ce tri est garanti /stable/ (euh... C'est quoi le terme français
correct?) : l'ordre des éléments égaux ne sera pas changé par le tri.



Merci pour la traduction mais j'avais résussi à comprendre tout seul
(YYYYEEESS !!!...) la phrase citée ci-dessus.

--
Cordialement, Thierry ;-)
Avatar
steph
Cenekemoi wrote:
"Mayeul" a écrit dans le message de
news:4b17d2f4$0$30625$
Cenekemoi wrote:
Mon interrogation est celle-ci: est-ce que le "return 0" dans une
fonction "Comparator" *garantit* que l'ordre initial soit conservé ?

(c'est le cas en JavaScript d'après la doc que j'ai trouvée)



Effectivement il va falloir bosser l'anglais :).



Caramba, ye suis démasqué !...

Trouvé directement dans la JavaDoc de
Collections.sort(List, Comparator):

This sort is guaranteed to be /stable/: equal elements will not be
reordered as a result of the sort.



Ben oui c'est évident, et pourtant je l'ai lu mais je pense comprendre
mon erreur: je me suis surtout approfondi sur le JavaDoc de l'interface
"java.util.Comparator" où n'apparait pas une phrase si compréhensible
pour moi...



Normal, ce n'est pas le Comparator qui te garantie la stabilité du tri
mais bien l'utilisation qui en est fait dans Collections.sort().


Qui se traduit grosso-modo par :

Ce tri est garanti /stable/ (euh... C'est quoi le terme français
correct?) : l'ordre des éléments égaux ne sera pas changé par le tri.



Merci pour la traduction mais j'avais résussi à comprendre tout seul
(YYYYEEESS !!!...) la phrase citée ci-dessus.



Avatar
steph
Cenekemoi wrote:
"Mayeul" a écrit dans le message de
news:4b17d2f4$0$30625$
Cenekemoi wrote:
Mon interrogation est celle-ci: est-ce que le "return 0" dans une
fonction "Comparator" *garantit* que l'ordre initial soit conservé ?

(c'est le cas en JavaScript d'après la doc que j'ai trouvée)



Effectivement il va falloir bosser l'anglais :).



Caramba, ye suis démasqué !...

Trouvé directement dans la JavaDoc de
Collections.sort(List, Comparator):

This sort is guaranteed to be /stable/: equal elements will not be
reordered as a result of the sort.



Ben oui c'est évident, et pourtant je l'ai lu mais je pense comprendre
mon erreur: je me suis surtout approfondi sur le JavaDoc de l'interface
"java.util.Comparator" où n'apparait pas une phrase si compréhensible
pour moi...



Normal, ce n'est pas le Comparator qui te garantie la stabilité du tri
mais bien l'utilisation qui en est fait dans Collections.sort().


Qui se traduit grosso-modo par :

Ce tri est garanti /stable/ (euh... C'est quoi le terme français
correct?) : l'ordre des éléments égaux ne sera pas changé par le tri.



Merci pour la traduction mais j'avais résussi à comprendre tout seul
(YYYYEEESS !!!...) la phrase citée ci-dessus.