你是要按照什么拍?
按数字
return x.number-y.number;

解决方案 »

  1.   


    按字符串排。
    就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
      

  2.   


    按字符串排。
    就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
    一样的
    public int compareTo(A other)
            {
                     return this.name.compareTo(other.name); 
                     
            }
      

  3.   


    按字符串排。
    就算是按数字排,我想问的是类A中的compareTo里应该怎么写,不是主函数里compare里。请进一步指点。
    一样的
    public int compareTo(A other)
            {
                     return this.name.compareTo(other.name); 
                     
            }怎样得出的结果是
    版主,为什么CSDN自己不能有截图功能呀,每次我都是打开QQ后现截图保存,然后再选择上传上来,好麻烦。
      

  4.   

    楼主在A类里重写一下toString()方法。
      

  5.   


    确实如你所说,在A类中加上toString就好了。我要好好想想为什么?
      

  6.   

    其实我对3楼版主的用法有点不解,
    public int compareTo(A other)
            {
                     return this.name.compareTo(other.name); 
                     
            }
    compareTo是方法名,怎么在方法里面又用了compareTo?
      

  7.   

    我把整理好的程序贴上来,但是我又有一个疑问:import java.util.*;public class Test
    {
    public static void main(String[] args)
    {

      SortedSet<A> parts = new TreeSet<A>();
      parts.add(new A("rst", 789));
      parts.add(new A("opq", 589));
      parts.add(new A("efg", 456));
      parts.add(new A("ttt", 621));
      parts.add(new A("abc", 123));
            
      System.out.println(parts);
      
      SortedSet<A> sortname = new TreeSet<A>
      (new 
        Comparator<A>()
        {
          public int compare(A a, A b)
          {
            String x = a.getName();
          String y = b.getName();
          
          return x.compareTo(y);
          }
          
        }
      );
      
      sortname.addAll(parts);
      System.out.println(sortname);
         
    }
    }class A implements Comparable<A>
    {
    public A(String name, int number)
    {
    this.name = name;
    this.number = number;
    }

    public String getName()
    {
    return name;
    }

    public int getNumber()
    {
    return number;
    }

    public String toString()
    {
    return name;
    }

    public int compareTo(A other)
    {
     // return this.number-other.number;
     return this.name.compareTo(other.name);
    }

    private String name;
    private int number;
    }我认为System.out.println(parts);与System.out.println(sortname);显示的顺序应该不一样才是,但是结果好像是一样的。
      

  8.   


    System.out.println(parts);应该是排序之前的输出才对呀,为什么与排序后的输出一样呢?
      

  9.   

    TreeSet默认是按升序排列的,所以一样