gpt4 book ai didi

multithreading - 使用并行排序和多个字段对列表进行排序

转载 作者:行者123 更新时间:2023-12-03 12:54:30 24 4
gpt4 key购买 nike

我有一个对象列表,并且我基于两个参数对该列表进行排序:
1.名字,以及
2.姓氏。

因此要求就像,首先根据名字对列表进行排序,然后根据姓氏对列表进行排序。

我已经使用Comparator.compairing和thenCompairing方法实现了这一点,如下所示:

Comparator<Employee> groupComparator = Comparator.comparing(Employee::getFirstName)
.thenComparing(Employee::getLastName);

并且,它工作得很好。

现在,我想要的是使用并行处理/排序的概念,以使用多线程或在多线程环境中进行并行排序。任何想法如何实现这一目标?

最佳答案

稍作修改,但这也可以正常工作:

List<Employee> sortedEmployees = employees.parallelStream()
.sorted(Comparator.comparing(Employee::getFirstName)
.thenComparing(Employee::getLastName))
.collect(Collectors.toList());

您看到-这是关于流的美丽之一-将解决方案转换为并行可能就像将 stream()转换为 parallelStream()一样简单!

但是像往常一样使用 parallelStream 时:
  • 测量其效果
  • 为意外和需要进行微调的
  • 做准备

    关于multithreading - 使用并行排序和多个字段对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324816/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com