比较器是一个用于定义对象之间的顺序关系的接口。它可以用作排序、搜索、集合和映射等算法的参数。下面是比较器的实现方式和使用方法:
public interface Comparator {
int compare(T o1, T o2);
}
public class AgeComparator implements Comparator {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge();
}
}
List personList = new ArrayList<>();
personList.add(new Person("Bob", 25));
personList.add(new Person("Alice", 30));
personList.add(new Person("Charlie", 20));
Collections.sort(personList, new AgeComparator());
for (Person person : personList) {
System.out.println(person.getName() + " " + person.getAge());
}
输出结果:
Charlie 20
Bob 25
Alice 30
在这个例子中,我们定义了一个比较器接口Comparator
,然后实现了一个具体的比较器AgeComparator
,根据人的年龄进行排序。我们使用Collections.sort()
方法,将比较器作为参数传入进行排序。