Java中数据集合根据多个字段排序
时间: 2023-09-27 17:06:34 浏览: 100
在Java中,可以使用`Comparator`接口来实现对数据集合的排序。如果需要根据多个字段排序,可以在`compare`方法中依次比较多个字段。
以下是一个示例代码,假设有一个`Person`类,其中包含`name`、`age`和`salary`三个字段,需要按照`name`、`age`和`salary`的顺序进行排序:
```java
List<Person> persons = ... // 数据集合
Collections.sort(persons, new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
int cmp = p1.getName().compareTo(p2.getName());
if (cmp != 0) {
return cmp;
}
cmp = Integer.compare(p1.getAge(), p2.getAge());
if (cmp != 0) {
return cmp;
}
return Double.compare(p1.getSalary(), p2.getSalary());
}
});
```
在上述代码中,首先比较`name`字段,如果相等再比较`age`字段,如果还相等再比较`salary`字段。最终返回的结果是各字段比较的结果之和。
阅读全文