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

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

Mary-Kate Olsen
リリース: 2024-11-01 21:36:29
オリジナル
856 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート