Java でリストを別のリストに基づいて並べ替える
Java では、別のリストの順序に基づいてリストを並べ替えることができます。これは、1 つのリスト (listB) に項目の特定の順序があり、その順序に一致するように 2 番目のリスト (listA) を並べ替えたい場合に便利です。
これを実現する 1 つの方法は、次のとおりです。以下のようにカスタマイズされた Comparator を使用した Collections.sort() メソッド:
<code class="java">Collections.sort(listToSort, new Comparator<T>() { @Override public int compare(T o1, T o2) { return listWithOrder.indexOf(o1) - listWithOrder.indexOf(o2); } });</code>
ここで、listToSort は並べ替えられていないリストを表し、listWithOrder には目的の順序が含まれます。この Comparator は、listWithOrder 内の要素の順序に基づいて listToSort を並べ替えます。
Java 8 以降の場合、ラムダと CompareInt() メソッドを使用してコードを簡素化できます。
<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
以上がJavaで別のリストの順序に基づいて1つのリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。