Maison  >  Article  >  Java  >  Comment trier une liste Java en fonction de l’ordre d’une autre liste ?

Comment trier une liste Java en fonction de l’ordre d’une autre liste ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 21:36:29710parcourir

How to Sort a Java List Based on the Order of Another List?

Tri d'une liste Java sur la base d'une autre

Lors de la réorganisation des éléments dans une liste (listA), les utilisateurs peuvent souhaiter conserver le nouvel ordre lors de la récupération. En raison de contraintes, il peut être nécessaire de trier listA après récupération en fonction d'une autre liste (listB) qui définit l'ordre souhaité.

Pour réaliser ce tri, vous pouvez exploiter la méthode Collections.sort de Java avec un comparateur personnalisé. La fonction de comparaison doit comparer les éléments en fonction de leurs indices dans la listeB.

Solution Java 8

<code class="java">Collections.sort(listToSort, Comparator.comparing(item -> listWithOrder.indexOf(item)));</code>

Solution Java 8 améliorée

<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>

Cette solution améliorée utilise à la place comparantInt de comparer, offrant des performances améliorées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn