如何反转阵列?

时间:2013-06-20 08:30:39

标签: java java1.4

XXXXXVO[] general = XXXX.getXXXX();

 Comparator comparator = new Comparator() {
        DateFormat f = new SimpleDateFormat("dd/MM/yyyy");
        public int compare(Object obj1, Object obj2) {

            XXXXX gen11 = (XXXXXVO) obj1;
            XXXXX gen22 = (XXXXXVO) obj2;

            String firstString = gen11.getXXXXX().toString();
            String secondString = gen22.getXXXX().toString();

            if (secondString == null || firstString == null) {
                return 0;
            }


            return f.parse(firstString).compareTo(f.parse(secondString));

        }
    };      

    Arrays.sort(general, comparator);

上面是按升序对数组进行排序的代码。 我想按降序排列。 如何在JDK 1.4中解决这个问题?

2 个答案:

答案 0 :(得分:2)

只需颠倒您比较的顺序:

return f.parse(secondString).compareTo(f.parse(firstString))

答案 1 :(得分:1)

我没有完成整个代码。我理解的是您需要撤消订单,因此将compareTo()的结果与-1相乘。

return -1*f.parse(firstString).compareTo(f.parse(secondString));

要根据日期进行排序,您必须使用String将比较器中的Date转换为f.parse(firstString)并使用Date的{​​{1}} 3}}。