SortedSet集合详解-实现conparable接口

/*
以后看到程序的输出结果不对了,就到相应的部分去看代码
把那一段的都看了

SortedSet集合存储元素为什么可以自动排序
因为被存储的元素实现了Comparable接口,SUN编写TreeSet
集合在添加元素的的时候,会调用compareTo方法完成比较

*/
import java.util.*;


public class fuck11{

public static void main(String[] args){

//创建集合
SortedSet ss=new TreeSet();

user u1=new user(12);
user u2=new user(22);
user u3=new user(52);
user u4=new user(18);

//添加元素
ss.add(u1);
ss.add(u2);
ss.add(u3);
ss.add(u4);

//遍历
Iterator it=ss.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

}

}


//实现这个接口,SortedSet在排序的时候需要调用compareTo方法
class user implements Comparable{
//field
int age;

//constructor
user(int age){
this.age=age;
}

//重写toString方法,输出的时候是输出age而不是内存地址
public String toString(){
return "user[age="+age+"]";
}

//重写compareTo方法,按照年龄大小来排序
//compareTo方法需要被重写,因为sun只给我们提供了模板
//具体灵活的实现需要程序员自己去编写
public int compareTo(Object o){
//编写一个比较规则
int age1=this.age;
int age2=((user)o).age;
return age1-age2;
}
}

猜你喜欢

转载自blog.csdn.net/rolic_/article/details/80308103