1.比较器的两种方式:
- 内部比较器
- 外部比较器
2.内部比较器:定义在要比较的类中,通过comparable接口进行实现 。
1)定义一个Person类,具有name和age属性。
2)Person类implements Comparable接口,并重写compareTo方法
3)实现compareTo方法的内部逻辑。
4)写一个测试类。将Person对象添加到TreeSet中,看是否实现排序。
代码示例如下:
public class Person implements Comparable{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
/**
* 此比较器按照name的长度进行比较。
* @param o
* @return
*/
@Override
public int compareTo(Object o) {
Person p=(Person)o;
if(this.name.length()<p.name.length()){
return 1;
}else if(this.na