首頁  >  文章  >  Java  >  如何根據另一個清單的順序對 Java 清單進行排序?

如何根據另一個清單的順序對 Java 清單進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 21:36:29815瀏覽

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>

此改進的解決方案使用 ComparisonInt 代替比較,提供增強的性能。

以上是如何根據另一個清單的順序對 Java 清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn