import com.sun.org.apache.bcel.internal.generic.BREAKPOINT;
import java.util.Iterator;
import java.util.TreeSet;

/**
 *
 * @author Administrator
 */
public class TreeSetTest {

    public static void main(String[] args) {
        TreeSet ts = new TreeSet();
        ts.add(new Dog("b", 10));
        ts.add(new Dog("b", 8));
        ts.add(new Dog("a", 5));
        ts.add(new Dog("c", 5));

  //新建一个迭代器类,遍历ts内容

        Iterator i = ts.iterator();
        while (i.hasNext()) {
            System.out.println(i.next());

        }
    }
}

//定义一个Dog类

class Dog implements Comparable<Dog> {

    private String name;
    private int age;

    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return name + "   " + age;
    }

//实现comparable方法,作为TreeSet集合排序的依据
    public int compareTo(Dog o) {

  //以age为第一主键,name为第二主键排序
      int r= age- o.age;
      return (r==0?name.compareTo(o.name):r);
       

    }

 

运行结果为:

a   5
c   5
b   8
b   10
}

posted on 2010-10-30 19:12  李宏招  阅读(922)  评论(0)    收藏  举报