本帖最后由 宋耀冬 于 2013-4-5 17:48 编辑
- import java.util.*;
- class TreeSetDemo {
- public static void main (String[] args) {
- TreeSet ts = new TreeSet();
- ts.add(new Student("lisi02", 22));
- ts.add(new Student("lisi007", 20));
- ts.add(new Student("lisi09", 19));
- ts.add(new Student("lisi08", 19));
- //ts.add(new Student("lisi01", 40));
- Iterator it = ts.iterator();
- while(it.hasNext()) {
- Student stu = (Student)it.next();
- System.out.println(stu.getName()+"..."+stu.getAge());
- }
- }
- }
- class Student implements Comparable {
- private String name;
- private int age;
- Student (String name, int age) {
- this.name = name;
- this.age = age;
- }
- public int compareTo(Object obj) {
- if(!(obj instanceof Student))
- throw new RuntimeException("不是学生对象");
- Student s = (Student)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 String getName() {
- return name;
- }
- public int getAge() {
- return age;
- }
- }
复制代码 我的运行结果是这样的
lisi02...compareto...lisi02
lisi007...compareto...lisi02
lisi09...compareto...lisi02
lisi09...compareto...lisi007
lisi08...compareto...lisi007
lisi08...compareto...lisi09
lisi08...19
lisi09...19
lisi007...20
lisi02...22
lisi02 自身进行了一次比较 老师的视频上没有啊 困惑 求解 |