繁体   English   中英

对 java 中名字和姓氏的员工列表进行排序 [暂停]

[英]Sorting a collection of List of Employees on firstName and lastname in java [on hold]

我有一个员工 class 作为 String fName、String lName、int age、Address address。 等属性。 现在创建了员工列表,我想使用 fName 和 lName 对列表进行排序。 如何做到这一点? 我知道我们可以编写 2 个单独的比较器,一个用于 fname 排序,另一个用于 lName 排序,然后我们可以使用 GroupBy 在列表中应用两个比较器。 或者我们可以使用 thenComparing 方法。

这里的问题是上述排序方法将在 fname 或 lname 上进行比较。 我想要它在两个。 请帮忙。

如果我理解正确,您希望同时按名字和姓氏对员工进行排序。

使用Java 8 Stream 和比较器。 看看下面的例子是否是你要找的。 :)

预期的

Before Sorting : [Tom Hanks, Tom Cruise, Brad Pitt]
After Sorting : [Brad Pitt, Tom Cruise, Tom Hanks]

程序



        System.out.println("Before Sorting : " + employees);

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

        employees = employees.stream().sorted(compareByName).collect(Collectors.toList());

        System.out.println("After Sorting : " + employees);

希望能帮助到你: :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM