ホームページ  >  記事  >  Java  >  別のリストの順序に基づいて Java リストを並べ替えるにはどうすればよいですか?

別のリストの順序に基づいて Java リストを並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 21:36:29710ブラウズ

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

ある Java リストを別の Java リストに基づいて並べ替える

リスト (listA) 内の要素を並べ替える場合、ユーザーは取得時に新しい順序を保持したい場合があります。制約のため、取得後に、希望の順序を定義する別のリスト (listB) に基づいて listA を並べ替える必要がある場合があります。

この並べ替えを実現するには、カスタム コンパレータを備えた Java の Collections.sort メソッドを利用できます。コンパレーター関数は、listB 内のインデックスに基づいて要素を比較する必要があります。

Java 8 ソリューション

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

改良された Java 8 ソリューション

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

この改良されたソリューションでは、代わりに CompareInt を使用します。比較し、パフォーマンスを向上させます。

以上が別のリストの順序に基づいて Java リストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。