本帖最后由 孙百鑫 于 2013-4-23 23:27 编辑
- /*
- */
- import java.util.*;
- class TreeSetDemo
- {
- public static void main(String[] args)
- {
- TreeSet ts=new TreeSet();//定义Tree集合.该集合自动排序
- ts.add(new Student("lise01",21));
- ts.add(new Student("lise02",23));
- ts.add(new Student("lise03",25));
- ts.add(new Student("lise04",24));
- ts.add(new Student("lise05",28));
- sop(ts.size());//打印长度 ps:为什么打印出来的长度是1???????
- Iterator it=ts.iterator();//使用迭代器.取出元素
- while(it.hasNext())
- {
- Student stu=(Student)it.next();//将元素装换成学生然后打印
- sop(stu.getName()+"......."+stu.getAge());// ps为什么只打印出来一个???
- }
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
- class Student implements Comparable//学生类.因为本身不具备比较性.要实现C哦买怕热接口覆盖方法才可以比较
- {
- private String name;
- private int age;
- public int compareTo(Object obj)//覆盖的CompaerTo方法.按照年龄比较
- {
- if(!(obj instanceof Student))//用instanceof判断一下是不是学生对象不不是抛异常
- throw new RuntimeException("不是学生对象");
- Student stu=(Student)obj;
- if(this.age>age)
- return 1;
- if(this.age==age)
- return 0;
- return -1;
- }
- Student(String name,int age)
- {
- this.name=name;
- this.age=age;
- }
- public String getName()
- {
- return name;
- }
- public int getAge()
- {
- return age;
- }
- }
复制代码 我知道问题不大.可是找了半天就是找不到哪里的问题.ps的地方就是我要问的地方 |