你如果改变treeSet中的对象,TreeSet肯定不会知道的
你只能自己重新排序
可以用java.util中Arrays或Collection类的sort方法

解决方案 »

  1.   

    我写这样一个方法,是不是就可以达到重新排序的目的了(Message是我自已的一个类),但好象不起作用?
    private static void reSort(TreeSet ts){
        TreeSet tempTs= new TreeSet();
        Iterator it = ts.iterator();
        while(it.hasNext()){
          Message mes = (Message)it.next();
          tempTs.add(mes);
        }
        ts = tempTs;
      }
      

  2.   

    只要你给出List中对象的比较大小的办法
     java.util.Collections.sort(List,Comparator)
    方法就能帮你排序List,第一个参数是你要排序的List,第二个参数是你的比较器,他告诉sort方法如何比较大小
    java.util.Comparator是个接口,它的主要方法是
    int compare(Object o1, Object o2) 
              Compares its two arguments for order. 
    你应该实现这个接口,将实例作为第二个参数传给sort方法sort还有另外一种形势
    java.util.Collections.sort(List)
    前提条件是List中的对象都实现了Comparable,比如里面都是String
    java.lang 
    Interface Comparable
    All Known Implementing Classes: 
    BigDecimal, BigInteger, Byte, ByteBuffer, Character, CharBuffer, Charset, CollationKey, Date, Double, DoubleBuffer, File, Float, FloatBuffer, IntBuffer, Integer, Long, LongBuffer, ObjectStreamField, Short, ShortBuffer, String, URI 
    java.util.Arrays的sort方法是一样的,不过它对数组排序