java中List<User> 集合 根据职位、姓名、手机号排序,麻烦提供代码
时间: 2024-10-28 08:07:40 浏览: 14
在Java中,对`List<User>`进行排序通常可以使用Collections.sort()方法,配合Comparator接口。如果你想按照职位、姓名和手机号的顺序排序,你可以创建一个多字段的比较器。假设`User`类已经包含这三个属性,并都有对应的getter方法:
```java
import java.util.*;
class User {
String job;
String name;
String phoneNumber;
// getters and setters...
}
// 自定义排序规则的比较器
class CustomSortComparator implements Comparator<User> {
@Override
public int compare(User u1, User u2) {
int jobCompare = u1.getJob().compareTo(u2.getJob());
if (jobCompare != 0) {
return jobCompare;
}
int nameCompare = u1.getName().compareTo(u2.getName());
if (nameCompare != 0) {
return nameCompare;
}
return u1.getPhoneNumber().compareTo(u2.getPhoneNumber());
}
}
public void sortUsersByCriteria(List<User> userList) {
Collections.sort(userList, new CustomSortComparator());
}
```
上述代码首先根据职位(升序)进行比较,如果职位相同则根据姓名(升序)继续比较,最后根据手机号(升序)完成排序。
阅读全文