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());
                }
            });


    才疏学浅,总结得不好,希望能够帮上需要的人。
  • 相关阅读:
    Android工具
    Android工具-DDMS
    Android ADB
    Windows FILETIME 与UNIX时间的转换
    <转>git,github在windows上的搭建
    国内的 Faas 云服务 -- Serverless 收集
    APICloud终于承认侵权并向DCloud道歉了(2019-11-26),知识产权!
    微信及钉钉等小程序开发的可视化工具
    C#的建造者设计模式(Builder),及Aspnet Core的源代码
    AspNet Core 3 的通用主机学习
  • 原文地址:https://www.cnblogs.com/chenchengxuyuan/p/10497120.html
Copyright © 2011-2022 走看看