按照姓名的长度排序
package com.heima.bean;
public class Person implements Comparable<Person> {
private String name;
private int age;
...
...
@Override
/*
* aaa
* bbb
*/
public int compareTo(Person o) {
int length = this.name.length() - o.name.length(); //比较长度为主要条件
int num = length == 0 ? this.name.compareTo(o.name) : length; //比较内容为次要条件
return num == 0 ? this.age - o.age : num; //比较年龄为次要条件
}
}
package com.heima.set;
import java.util.TreeSet;
import com.heima.bean.Person;
public class Demo08_TreeSet {
public static void main(String[] args) {
TreeSet<Person> ts = new TreeSet<>();
ts.add(new Person("zhangsan", 23));
ts.add(new Person("lisi", 13));
ts.add(new Person("wangwu", 33));
ts.add(new Person("zhaoliu", 43));
ts.add(new Person("aaaa", 53));
System.out.println(ts);
}
}