Java 使用Collections.reverse

使用Collections.reverse结合一定方法可以实现对list集合降序排序,但是直接使用Collections.reverse(list)这种方式来降序是错误的。
reverse的意思是反转,而不是降序。只是将list集合原来的顺序反转了一下,反转并不意味着降序了。所以要想实现降序,可以先对集合进行升序,然后再反转,这样就降序了。
举个例子:

import java.util.*;

public class Test {
  private static Map<Integer, String> map = new HashMap<Integer, String>();

  public static void main(String[] args) {
    long[] data = {1506326821000l, 1506327060000l, 1506326880000l, 1506327000000l, 1506326940000l, 1506326760000l, 1506326700000l};
    List list = new ArrayList<>();
    for (long key : data) {
      list.add(key);
    }
    System.out.println(list);
    //先升序
    Collections.sort(list);
    System.out.println(list);
    //再反转
    Collections.reverse(list);
    System.out.println(list);
  }
}
[1506326821000, 1506327060000, 1506326880000, 1506327000000, 1506326940000, 1506326760000, 1506326700000]
[1506326700000, 1506326760000, 1506326821000, 1506326880000, 1506326940000, 1506327000000, 1506327060000]
[1506327060000, 1506327000000, 1506326940000, 1506326880000, 1506326821000, 1506326760000, 1506326700000]

你可能感兴趣的:(java,开发语言,后端)