• Java 使用Collections.reverse对list集合进行降序排序


    今天无意中搜了一下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]

    转自:https://blog.csdn.net/u012062455/article/details/78087314
  • 相关阅读:
    SPOJ375(树链剖分)
    最短路相关模板、总结
    Linux入门基础#2:Linux文件系统基本结构
    poj 2229 Sumsets (DP)
    Power BI for Office 365(七) Power BI站点
    HDU1045 Fire Net
    Android 系统搜索框(有浏览记录)
    Struts2 Action接收表单参数
    要注意的点
    复习昨天的,继续过Hard题目
  • 原文地址:https://www.cnblogs.com/tiancai/p/14023613.html
Copyright © 2020-2023  润新知