我只知道升序排列的有Arrays.sort(),降序有哪几个呢

解决方案 »

  1.   

    这就要看你针对什么排序了
    数组通常用Arrays.srot()
    List用Collections.sort()
    至于想怎么排序,你需要实现你的Comparator接口就行了!
      

  2.   

    没有现成的。
    需要自己写实现。
    API中给了一个方法,意思就是排序。怎么排开发人员自己实现Comparator接口。
      

  3.   

    没有现在的降序API,
    但是可以自己去实现Comparator接口,
    然后,如Sort(list,MyComparator)来做。
      

  4.   

    int[] i = {1,3,2};
    Arrays.sort(i);int[] result = new int[3];
    for(int j=i.length-1,k=0; j>=0; j--,k++){
      result[k] = i[j];
    }
      

  5.   

    实现Comparator接口吧。package com.xuz.csdn.june8;import java.util.Date;public class MyClass implements Comparable<MyClass> {
    private Date d; public MyClass(Date d) {
    this.setD(d);
    }

    @Override
    public String toString(){
    return "my value is " + d;
    } @Override
    public int compareTo(MyClass o) {
    if (d.after(o.getD())) {
    return -1;


    if (d.before(o.getD())) {
    return 1;
    }

    return 0;
    } public void setD(Date d) {
    this.d = d;
    } public Date getD() {
    return d;
    }
    }
    package com.xuz.csdn.june8;import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Collections;
    import java.util.List;public class CompareList { public static void main(String[] args) throws InterruptedException {
    List<MyClass> list = new ArrayList<MyClass>();
    list.add(new MyClass(Calendar.getInstance().getTime()));
    Thread.sleep(1000);
    list.add(new MyClass(Calendar.getInstance().getTime()));
    Thread.sleep(1000);
    list.add(new MyClass(Calendar.getInstance().getTime()));
    Thread.sleep(1000);
    list.add(new MyClass(Calendar.getInstance().getTime()));
    Thread.sleep(1000);
    list.add(new MyClass(Calendar.getInstance().getTime()));
    Thread.sleep(1000);

    for (MyClass myClass : list) {
    System.out.println(myClass);
    }
    System.out.println();

    Collections.sort(list);

    for (MyClass myClass : list) {
    System.out.println(myClass);
    }
    }}