sorted comparator
时间: 2023-11-11 19:56:02 浏览: 111
sorted()方法可以用于对列表进行排序。它接受两种类型的比较器:Comparable和Comparator。对于基本类型的包装类(如Integer、String等),它们已经实现了Comparable接口,也可以直接使用自然排序。而对于复杂实体对象(如Person类),你可以创建一个实现Comparator接口的比较器来指定排序方式。
下面是一个使用Comparator进行排序的示例,假设有一个Person类,包含name和age属性:
```
package com.it.pojo;
import java.util.Comparator;
import java.util.Objects;
public class Person {
private String name;
private Integer age;
// 构造函数、getter和setter方法省略
// 创建一个比较器
public static Comparator<Person> ageComparator = new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
};
}
```
在使用Comparator进行排序时,可以创建一个SortedList并传入比较器对象,然后像创建任何ArrayList一样使用它:
```
SortedList<Person> sortedList = new SortedList<>(Person.ageComparator);
// 添加元素到sortedList
// ...
// 对sortedList进行排序
Collections.sort(sortedList);
```
注意,如果要使用Comparable接口进行排序,可以创建一个不带Comparator对象的SortedList,并确保要排序的对象实现了Comparable接口。
阅读全文