根據給定順序對列表進行排序
在 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中文網其他相關文章!