我有一個對象列表,我基於兩個參數排序此列表: 1.名字和 2.姓氏。使用並行排序和多個字段排序列表
所以要求就是,首先根據姓氏排序列表並根據姓氏排序。
我已經實現這個使用Comparator.compairing和thenCompairing方法如下:
Comparator<Employee> groupComparator = Comparator.comparing(Employee::getFirstName)
.thenComparing(Employee::getLastName);
和,這是工作非常精細。
現在我想要的是使用並行處理/排序的概念進行並行排序,使用多線程或多線程環境。任何想法如何實現這一目標?
這將會對數據進行排序,然後,'的forEach '會以任意順序打印元素... – Holger
那麼,正確的方法是收集到一個列表?這是否按排序順序打印? – Jagannath
比較['forEach']的合約(https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#forEach-java.util.function.Consumer-)和['forEachOrdered'](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#forEachOrdered-java.util.function。消費者 - )......當然,收集到列表中會按照正確的順序產生一個列表,但當您只想打印元素時,這不是必需的。 – Holger