定义一个类Person,含有两个属性姓名(name,String),年龄(age,int),要求构造方法带参数并初始化两个属性,重写toString方法打印两个属性的值。定义一个TreeSet,添加5个Person类的对象到该TreeSet,并按照属性name的字典排列顺序在TreeSet中排列这5个Person类的对象。

解决方案 »

  1.   

    来看看这篇Blog吧,能帮上一点忙:Java中的排序(一)
      

  2.   


    import java.util.*;
    public class Person implements Comparable {
    private String name;
    private int age;
    Person() {
    }

    Person(String name, int age) {
    this.name = name;
    this.age = age;
    }

    public String toString() {
    return "[name:"+this.name + " age:" + age + "]";
    }

    public int compareTo(Object o) {
    Person p = (Person)o;
    return this.name.compareTo(p.name);
    }

    public static void main(String[] args) {
    TreeSet<Person> ts = new TreeSet<Person>();
    ts.add(new Person("zeng",20));
    ts.add(new Person("cheng",21));
    ts.add(new Person("hang",19));
    ts.add(new Person("ceng",25));
    ts.add(new Person("wang",21));
    for(Person p:ts) {
    System.out.println(p);
    }
    }