Collections.sort(List list)
但要保证你的Vector中存储的对象,按照你的要求重写了equals()方法和compareTo()方法
若是没有,则用重写之,或者使用:
Collections.sort(List list, Comparator c)

解决方案 »

  1.   

    楼上正解要求放入Vector的的对象实现Comparable借口。
      

  2.   

    推荐用List,List中的对象需要实现Comparabe接口
    Object[] temp =list.toArray();
    Arrays.sort(temp);
    list = Arrays.asList(temp);
      

  3.   

    TO:web_spider(蓦然回首,那人却在、灯火阑珊处。)觉得这样写不合适:Arrays.asList(temp);这样实际返回的是一个ArrayList的实例,而楼主本来用的是Vector,是线程安全的。这样处理后不安全了,稍微改进一下比较好 Object[] temp = list.toArray();
    Arrays.sort(temp);
    ListIterator i = list.listIterator();
    for (int j = 0; j < temp.length; j++) {
        i.next();
        i.set(temp[j]);
    }
      

  4.   

    好像差不多吧?
    这是Collections.sort(List list)的源码
    Object a[] = list.toArray();
    Arrays.sort(a);
    ListIterator i = list.listIterator();
    for (int j=0; j<a.length; j++) {
    i.next();
    i.set(a[j]);
    }
      

  5.   

    方法差不多被大家讲光了,我来干嘛呢?Mark
      

  6.   

    谢谢大家这样排出的顺序是从大到小呢还是从小到大啊?另外我在点对象里写了个方法sum(),返回x+y的值,
    能不能按照点里面这个方法sum()的返回值排序?可不可以用这个方法Collections.sort(List,Comparator)?
    这个方法该怎么使用?参数一定要List吗?Vector行么?Comparator该怎么定义?
    Collections(points,points.element.sum())
                       ~~~~~~~~~~~~~~~~~~~~~~~~
           这后面该怎么写呢? 
      

  7.   

    comparable接口用来比较某对象与另外一个指定对象的顺序。当这个对象小于、等于、大于指定对象时,分别返回,负整数、零、正整数。如果制定对象的类型不允许于当前对象作比较,抛出ClassCastExceptioncomparable中只有一个方法compareTo,你必须自己实装他,至于大小判别方法就是你自己定了下面是Integer类的compareTo方法,你可以参考一下    public int compareTo(Integer anotherInteger) {
    int thisVal = this.value;
    int anotherVal = anotherInteger.value;
    return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
        }Vector是List接口的一个实现建议你还是好好看看书
      

  8.   

    若一个类不能用于实现java.lang.Comparable,或者您不喜欢缺省的Comparable行为并想提供自己的排序顺序(可能多种排序方式),你可以实现Comparator接口,从而定义一个比较器。
    他有两个方法:
    (1)int compare(Object o1, Object o2): 对两个对象o1和o2进行比较,如果o1位于o2的前面,则返回负值,如果在排序顺序中认为o1和o2是相同的,返回0,如果o1位于o2的后面,则返回正值『与Comparable相似,0返回值不表示元素相等。一个0返回值只是表示两个对象排在同一位置。由Comparator用户决定如何处理。如果两个不相等的元素比较的结果为零,您首先应该确信那就是您要的结果,然后记录行为。』(2)boolean equals(Object obj): 指示对象obj是否和比较器相等。『该方法覆写Object的equals()方法,检查的是Comparator实现的等同性,不是处于比较状态下的对象。』
      

  9.   

    to binny:太感谢了,你说的很详细
    谢谢!!!!!
    另外可以推荐一下讲java类库的书么?
      

  10.   

    javadoc最权威最经典,不过就是E文的:P
      

  11.   

    呵呵,偶明白了,这是偶改的tij上的一个例子。import java.util.*;public class CompType implements Comparable {
    int i;
    int j;
    public CompType(int n1, int n2) {
    i = n1;
    j = n2;
    }
    public String toString() {
    return "[i = " + i + ", j = " + j + "]";
    }
    public int compareTo(Object rv) {
    int rvi = ((CompType)rv).i + ((CompType)rv).j;
    return ((i+j) < rvi ? -1 : ((i+j) == rvi ? 0 : 1));
    }
    public static void main(String[] args) {
    CompType[] a = new CompType[]{new CompType(1,2),new CompType(2,3),new CompType(1,3),new CompType(5,4)};
    Arrays.sort(a);
    System.out.println(Arrays.asList(a));
    }
    }