回 帖 发 新 帖 刷新版面

主题:请较一个java简单排序问题

我想对一个int数组按从大到小排序
比如: int a[]=new int[]{3, 4, 2, 1};

想调用Arrays里的 sort(T[] a, Comparator<? super T> c)
实现排序,但不知道第二个参数该如何实现!

还望大虾指点。。。。。。。

回复列表 (共2个回复)

沙发

完全可以运行:请你自己运行和编译一下:

import java.util.*;
class CompareTest //implements Comparable
{
    static class IntComparator implements  Comparator
        {
            public int compare(Object o1,Object o2)
            {
                Integer i1=(Integer)o1;
                Integer i2=(Integer)o2;
                int i11=i1.intValue();
                int i22=i2.intValue();
                return i11>i22?1:(i11==i22?0:-1);
            }
            public boolean equals(Object obj)
            {
                return false;
            }       
        } 
    public static void main(String[] args)
    {
        Integer []a=new Integer[]{4,7,2,78,34,67,21,39};
        Arrays.sort(a,new CompareTest.IntComparator());
        //printElement(a);
        System.out.println("sorted array is:");
        for(int i=0;i<a.length;i++)
        {
            System.out.print(a[i]+" ");
        }
    }
}

板凳

333333QQQQQQQQQ!

我来回复

您尚未登录,请登录后再回复。点此登录或注册