class TreeSetDemo
{
//..........main方法
{
//.....新建一个TreeSet对象ts
//当ts中存入数据的的时候,会自动调用已经复写好的compareTo方法,
//因为Student实现了comparable接口,强制执行此方法。
ts.add(new Student("lisi01",33));
ts.add(new Student("lisi004",35));
//.....创建取出对象的迭代器即可。
}
}
class Student implements Comparable//该接口强制让学生具备比较性。
{
//......定义属性的动作
//复写比较方法compareTo
public int compareTo(Object obj)
{
if(!(obj instanceof Student))
{
thorw new RuntimeException("不是学生对象");
}
Student s = (Student)obj;
if(this.age>s.age)
return 1;
if(this.age==s.age)
//如果确认年龄相等就是同一个人,就直接返回0.
//return =0;
//可是,如果年龄相同,还要判断姓名,就需要再判断一次
//用名字排序,字符串自动实现comparable接口。
return this.name.compareTo(s.name);
return -1;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |