Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Collections.sort

1 view
Skip to first unread message

Cenekemoi

unread,
Dec 3, 2009, 9:43:47 AM12/3/09
to
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 ;-)

Mayeul

unread,
Dec 3, 2009, 10:02:11 AM12/3/09
to
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

Cenekemoi

unread,
Dec 3, 2009, 10:21:58 AM12/3/09
to
"Mayeul" <mayeul....@free.fr> a ᅵcrit dans le message de
news:4b17d2f4$0$30625$426a...@news.free.fr...

> 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 ;-)

steph

unread,
Jan 5, 2010, 5:13:14 PM1/5/10
to Cenekemoi
Cenekemoi wrote:
> "Mayeul" <mayeul....@free.fr> a ᅵcrit dans le message de
> news:4b17d2f4$0$30625$426a...@news.free.fr...
>> 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().

steph

unread,
Jan 5, 2010, 5:15:19 PM1/5/10
to
Cenekemoi wrote:
> "Mayeul" <mayeul....@free.fr> a ᅵcrit dans le message de
> news:4b17d2f4$0$30625$426a...@news.free.fr...
>> 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().

>

0 new messages