本帖最后由 张振纲 于 2012-8-7 13:24 编辑
- import java.util.*;
- class Person
- {
- private String name;
- private int age;
- Person(String name, int age)
- {
- this.name=name;
- this.age=age;
- }
- public int getAge()
- {
- return age;
- }
- public String getName()
- {
- return name;
- }
- }
- class Mycom implements Comparator<Person>
- {
- public int compare(Person a ,Person b)
- {
- int c = new Integer(a.getAge()).compareTo(new Integer (b.getAge()));
- if (c==0)
- {
- return a.getName().compareTo(b.getName());
- }
- return c ;
- }
- }
- class TreeSetDemo2
- {
- public static void main(String[] args)
- {
- TreeSet<Person> ts = new TreeSet<Person>(new Mycom());
- ts.add(new Person("dafsd",13));
- ts.add(new Person("sda",12));
- ts.add(new Person("weqd",14));
- ts.add(new Person("dawsd",17));
- Iterator<Person> it = ts.iterator();
- while (it.hasNext())
- {
- System.out.println(it.next().getName()+"-----"+it.next().getAge());
- }
- }
- }
复制代码 以下为输出结果
通过建立一个比较器
让对象使用比较器存入TreeSet中
比较方法没有错误
可是为什么输出结果只有两个?
|