코드 트레이닝 캠프-TreeSet

import java.util.*;
//       ;            
//TreeSet:   Set          
//  :
/*  TreeSet            。            。   :   ,        ,        。 */
class TreeSetDemo {
    public static void main(String[] args)
    {
        TreeSet ts = new TreeSet();
        ts.add(new Student("lisi02",22));
        ts.add(new Student("lisi03",20));
        ts.add(new Student("lisi06",19));

        Iterator it = ts.iterator();
        while(it.hasNext())
        {
            Student stu = (Student)it.next();
            sop(stu.getName()+"......"+stu.getAge());
        }

    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}


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)//      
    {
        if(!(obj instanceof Student))
            throw new RuntimeException("     ");
        Student stu = (Student)obj;

        System.out.println(this.name+"...compareTo..."+stu.name);
        if(this.age > stu.age)
            return 1;
         if(this.age == stu.age)
         {
             return this.name.compareTo(stu.name);
         }
            return -1;
    }
    public String getName()
    {
        return name;
    }
    public int getAge()
    {
        return age;
    }
}

lisi02…compareTo…lisi02 lisi03…compareTo…lisi02 lisi06…compareTo…lisi02 lisi06…compareTo…lisi03 lisi06……19 lisi03……20 lisi02……22
ts.add(new Student("lisi02",22));
ts.add(new Student("lisi03",20));
ts.add(new Student("lisi06",19));
ts.add(new Student("lisi04",19));
ts.add(new Student("lisi05",19));

lisi02…compareTo…lisi02 lisi03…compareTo…lisi02 lisi06…compareTo…lisi02 lisi06…compareTo…lisi03 lisi04…compareTo…lisi03 lisi04…compareTo…lisi06 lisi05…compareTo…lisi03 lisi05…compareTo…lisi06 lisi05…compareTo…lisi04 lisi04……19 lisi05……19 lisi06……19 lisi03……20 lisi02……22

좋은 웹페이지 즐겨찾기