为什么这段TreeSet只能打印第一段
import java.util.*;
class Student implements Comparable
{
private String name;
private int age;
Student(String name,int agr){
this.name =name;
this.age =age;
}
public void setName(String n){
this.name =n;
}
public void setAge(int a){
this.age =a;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public int compareTo(Object obj){
if (!(obj instanceof Student))
{
throw new RuntimeException("bushi");
}
Student st =(Student)obj;
TreeSetTest.sop(this.name+"---compareTo----"+st.name);
if (this.age > st.age)
return 1;
if (this.age == st.age)
return 0;
return -1;
}
}
public class TreeSetTest
{
public static void main(String []args){
TreeSet ts =new TreeSet();
ts.add(new Student("lisi01",10));
ts.add(new Student("lisi02",11));
ts.add(new Student("lisi03",13));
ts.add(new Student("lisi01",10));
ts.add(new Student("lisi02",12));
for (Iterator i =ts.iterator(); i.hasNext(); )
{
Student stu =(Student)i.next();
sop(stu.getName()+"----------"+stu.getAge());
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
lisi01---compareTo----lisi01
lisi02---compareTo----lisi01
lisi03---compareTo----lisi01
lisi01---compareTo----lisi01
lisi02---compareTo----lisi01
lisi01----------0
--------------------------------
输出结果是这个,想把lisi01后面的元素打印出来,求大牛帮忙,小菜鸟求助。。。
只打印了这一个 ts.add(new Student("lisi01",10));。后面的没有打印。。但覆写了CompareTo,里面调用了,但就是不打印后来的ts。。
我想把ts集合中的元素全部打印出来,可是只打印了一行。
输出是啥啊?你想要的又是啥啊