黑马程序员技术交流社区
标题:
Comparable接口
[打印本页]
作者:
丁岩
时间:
2012-8-24 10:24
标题:
Comparable接口
package days8;
import java.util.*;
class Person implements Comparable
{
private String name;
private int age;
Person(String name,int age)
{
this.name=name;
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public int compareTo(Object obj) {
if(!(obj instanceof Person))
throw new RuntimeException("不是学生对象");
Person s = (Person)obj;
System.out.println(this.name+"....compareto....."+s.name);
if(this.age>s.age)
return 1;
if(this.age==s.age)
{
return this.name.compareTo(s.name);
}
return -1;
}
}
public class TreeSet2
{
public static void main(String[]args)
{
TreeSet al=new TreeSet();
al.add(new Person("Ben",15));
al.add(new Person("Ann",12));
al.add(new Person("Bob",14));
al.add(new Person("Sam",16));
Iterator it=al.iterator();
while(it.hasNext())
{
Object obj=it.next();
Person p=(Person)obj;
sop(p.getName()+"::"+p.getAge());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
运行结果:
Ann....compareto.....Ben
Bob....compareto.....Ben
Bob....compareto.....Ann
Sam....compareto.....Bob
Sam....compareto.....Ben
Ann::12
Bob::14
Ben::15
Sam::16
求教这部分是怎么得来的,我看jdk手册看了半天,没看明白
Ann....compareto.....Ben
Bob....compareto.....Ben
Bob....compareto.....Ann
Sam....compareto.....Bob
Sam....compareto.....Ben
为什么是这样的比较???
作者:
丁岩
时间:
2012-8-24 10:50
突然自己想明白了,二叉树原理呀
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2