黑马程序员技术交流社区

标题: 关于TreeSet的小问题 [打印本页]

作者: ς高眼光の目标    时间: 2014-3-20 14:35
标题: 关于TreeSet的小问题
import java.util.*;
class  TreeSetDemo
{
        public static void main(String[] args)
        {
                TreeSet ts = new TreeSet(new MyCompare());
                ts.add(new Student("a1",12));
                ts.add(new Student("a3",15));
                ts.add(new Student("a2",11));
                ts.add(new Student("a4",18));
                Iterator it = ts.iterator();
                while (it.hasNext())
                {
                        Student st = (Student)it.next();
                        sop(st.getName()+","+st.getAge());
                }
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}
class MyCompare implements Comparator
{
        public int compare(Object o1,Object o2)
        {
                Student s1 = (Student)o1;
                Student s2 = (Student)o2;
               
                int num = s1.getName().comparteTo(s2.getName());
                        if (num==0)
                        {
                                return new Integer(s1.getAge()).comparteTo(new Integer(s2.getAge()));
                        }
                        return num;
        }
}
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)
        {
                Student st = (Student)obj;
                if(this.age==st.age)
                {
                        return this.name.compareTo(st.name);
                }
                if(this.age>st.age)
                        return 1;
               
                        return -1;
        }

        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
}
为什么??求解

SKVRHO@WN]__B7XT@PJENAN.jpg (92.79 KB, 下载次数: 19)

出现这个

出现这个

作者: 上官睿鹏    时间: 2014-3-20 14:44
compareTo()方法写错了。你的是comparteTo()
作者: ς高眼光の目标    时间: 2014-3-20 14:46
上官睿鹏 发表于 2014-3-20 14:44
compareTo()方法写错了。你的是comparteTo()

可以说的仔细点吗?我都看了好几遍 都快晕了
作者: ς高眼光の目标    时间: 2014-3-20 14:47
上官睿鹏 发表于 2014-3-20 14:44
compareTo()方法写错了。你的是comparteTo()

谢谢了 搞定了
太大意了
作者: SyouRai_Tsk    时间: 2014-3-20 22:24
建议学习集合开始,使用eclipse工具,防止打错字.
代码感慢慢就会来的.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2