对vector类里的元素排序,按降序排序该怎么做?

解决方案 »

  1.   

    List v=new Vector();
           v.add("a");
           v.add("b");
           v.add("d");
           v.add("c");
           Collections.sort(v);
           Collections.reverse(v);
           for(int i=0;i<v.size();i++)
           System.out.println(v.get(i));
      

  2.   

    上面那个性能不太好,这个应该没问题:
    List v=new Vector();
           v.add("a");
           v.add("b");
           v.add("d");
           v.add("c");
           Comparator ct=Collections.reverseOrder();
           Collections.sort(v,ct);
           for(int i=0;i<v.size();i++)
           System.out.println(v.get(i));
      

  3.   

    分数我放的少了点,不过我们主要是学习吗!
    我再跟大家请教一下,
           v.add("a");
           v.add("b");
           v.add("d");
           v.add("c");    
    如果我把"a","b","c","d"换成new(ClassName("a"))依次略.......
                                       |
                                       |
                                     我所定义的任意类 
    这样该如何降序排序!
      

  4.   

    你所定义的任意类要实现Comparable接口
      

  5.   

    太EASY了,请看我昨天刚发表的文章,在http://dev.csdn.net/article/79/79500.shtm GO
      

  6.   

    如下:import java.util.*;
    class MyCompare implements Comparator
    {
    public int compare(Object o1,
                       Object o2)
    {
    Elem e1 = (Elem)o1;
    Elem e2 = (Elem)o2;
    if(e1.get() > e2.get())
    {
    return -1;
    }
    else if(e1.get() < e2.get())
    {
    return 1;
    }
    else
    {
    return 0;
    }
    }

    }
    class Elem 
    {
    private int iVal;

    public Elem(int i)
    {
    this.iVal = i;
    }

    public int get()
    {
    return this.iVal;
    }


    }

    public class test
    {


    public static void main(String[] args)
    {
    List v=new Vector();
           v.add(new Elem(1));
           v.add(new Elem(22));
           v.add(new Elem(3));
           v.add(new Elem(14));
           //Comparator ct=Collections.reverseOrder();
           Comparator ct = new MyCompare();
           Collections.sort(v,ct);
           for(int i=0;i<v.size();i++)
           System.out.println(((Elem)v.get(i)).get()); }
    }