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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 09:53:30668ブラウズ

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

指定された順序に基づいてリストを並べ替える

Java では、あるリストを別のリストの順序に基づいて並べ替えることができます。これは、データベースからアイテムを取得するときにアイテムの順序を維持したり、ユーザー設定に基づいて要素のリストを並べ替えたりするなど、さまざまなシナリオで役立ちます。

これを実現するには、Java の Collections.sort( ) メソッド。引数として Comparator を取ります。 Comparator は、リスト内の要素の順序付けルールを定義します。

Java 8 ソリューション

Java 8 では、Comparator.comparing() を使用してリストを並べ替えることができます。順序付きリストのindexOf()メソッドに基づきます。次のコード スニペットは、このアプローチを示しています。

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

最適化された Java 8 ソリューション

パフォーマンスを向上させるために、代わりに Comparator.comparingInt() を使用できます。次のコード:

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

あるリストを別のリストの順序に基づいて並べ替えることで、ソートされたリスト内の要素は、順序付きリスト内の要素と同じ相対順序を維持します。これは、Java プログラミングのさまざまなアプリケーションに使用できる強力なテクニックです。

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

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