1. 程式人生 > 資訊 >世界首富馬斯克:我最大恐懼和最大的願望

世界首富馬斯克:我最大恐懼和最大的願望

今天無意中搜了一下Collections.reverse這個方法,結果發現有些人對它的誤解蠻深的。下面是一個有百萬訪問量博主寫的,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]
————————————————
版權宣告:本文為CSDN博主「我是李超人」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/u012062455/article/details/78087314