zoukankan      html  css  js  c++  java
  • java8的新特性,Collections.sort(排序的List集合)的使用,对list封装Map里面的某个值进行排序

    --------------------------对简单list的排序----------------------------------
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    Collections.sort(list)

    排序前是:
      1
      2
      3
      3

    排序后:
      4
      3
      2
      1
    ------------------------------------------------------------------

    ----------------------------对list封装Map里面的某个值进行排序-------------------------------------
    List<Map<String,Object>> mapList = new ArrayList<Map<String,Object>>();
    
    Collections.sort(mapList,new Comparator<Map<String,Object>>() {
                //降序排序
                public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                    double s = Double.parseDouble(o1.get("dist").toString());  //由于从map里面取出来的值为Object类型,无法直接转换为Integer类型,需要转换为double
                    double d = Double.parseDouble(o2.get("dist").toString());
                    Double D1 = new Double(s); //由于double类型无法直接转换为Integer类型,需要用封装类先封装double
                    Double D2 = new Double(d);
                    Integer s1 = D1.intValue();  //使用Double的intValue方法转换为Integer类型
                    Integer s2 = D2.intValue();
                    //使用Entry类中的值来比较大小
                    return s1.compareTo(s2);  //s1在前面是升序,s1在后面是降序
    //              //使用Entry类中的键来比较大小
    //                return o2.getKey().compareTo(o1.getKey());
                }
            });


    才疏学浅,总结得不好,希望能够帮上需要的人。
  • 相关阅读:
    git常用命令图解 & 常见错误
    关于ES6的Promise的使用深入理解
    几种简单排序算法代码
    HttpMessageNotWritableException异常解决办法
    关于 java swing 使用按钮关闭窗口
    几种简单的排序总结
    MJ老师博客园的美化代码
    [转]iOS开发之常用的数学函数和常数
    iOS如何简单实现绘制爱心?
    重新入门python爬虫到放弃
  • 原文地址:https://www.cnblogs.com/chenchengxuyuan/p/10497120.html
Copyright © 2011-2022 走看看