Teacher类
package com;
//JavaBean
public class Teacher implements Comparable<Teacher> {
private String name;
private int age;
public Teacher() {
super();
// TODO Auto-generated constructor stub
}
public Teacher(String name, int age) {
super();
this.name = name;
this.age = 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;
}
@Override
public String toString() {
return "Teacher [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Teacher other = (Teacher) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public int compareTo(Teacher o) {
// TODO Auto-generated method stub
//比较年龄
int result=this.getAge()-o.getAge();
//如果年龄相等就比较姓名
result=result==0?this.getName().compareTo(o.getName()):result;
return result;
}
}
TreeSetDemo类
package com;
import java.util.TreeSet;
public class TreeSetDemo {
public static void main(String[] args) {
//创建TreeSet集合对象
TreeSet<Integer> set=new TreeSet<>();
//在集合中添加Integer对象
set.add(35);
set.add(19);
set.add(2);
set.add(23);
set.add(10);
//遍历输出集合的值
System.out.println(set);
System.out.println("=============");
System.out.println("=============");
//在TreeSet集合中添加Teacher对象
//创建集合对象
TreeSet<Teacher> set2=new TreeSet<>();
Teacher t1=new Teacher("zhangsan",23);
Teacher t2=new Teacher("lisi",19);
Teacher t3=new Teacher("wangwu",20);
//添加元素
set2.add(t1);
set2.add(t2);
set2.add(t3);
System.out.println(set);
}
}