Java基础-Java比较器
Table of Contents generated with DocToc (opens new window)
# Java比较器
在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。
Java实现对象排序的方式有两种:
自然排序: java.lang.Comparable
定制排序: java.util.Comparator
# 自然排序: java.lang.Comparable
comparable接口使用举例:用要比较的类去实现comparable接口,重写compareTo方法,定义比较两个对象大小的方式
重写规则:
如果当前对象this大于形参对象obj,返回正整数;
如果当前对象this小于形参对象obj,返回负整数;
如果当前对象this等于形参对象obj,返回零;
对于自定义类来说,如果需要排序,我们可以让自定义类实现comparable接口,重写compareTo方法
public class Person implements Comparable<Person>{
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person o) {
return this.age-o.age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
在 GitHub 上编辑此页 (opens new window)
最后更新: 2022/10/04, 16:10:00