groovy List 多字段排序

List<Map<String, Object>> list = [["loc": "A-02-01","code":"asdf"],["loc": "B-01-01","code":"ff"],["loc": "B-01-01","code":"23"], ["loc": "A-01-04","code":"ghg"]]
list.sort{a,b->if (a.loc < b.loc) {return -1}else if (a.loc == b.loc) {a.code.compareTo(b.code)} else {return 1}
}

Result: [[loc:A-01-04, code:ghg], [loc:A-02-01, code:asdf], [loc:B-01-01, code:23], [loc:B-01-01, code:ff]]

  1. package test.tool.gui.dbtool.util;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Comparator;
  5. import java.util.List;
  6. public class Test {
  7. public static void main(String[] args) {
  8. List<Student> list = new ArrayList<Student>();
  9. //创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中
  10. Student s1 = new Student();
  11. s1.setAge(20);
  12. Student s2 = new Student();
  13. s2.setAge(19);
  14. Student s3 = new Student();
  15. s3.setAge(21);
  16. list.add(s1);
  17. list.add(s2);
  18. list.add(s3);
  19. System.out.println("排序前:"+list);
  20. Collections.sort(list, new Comparator<Student>(){
  21. /*
  22. * int compare(Student o1, Student o2) 返回一个基本类型的整型,
  23. * 返回负数表示:o1 小于o2,
  24. * 返回0 表示:o1和o2相等,
  25. * 返回正数表示:o1大于o2。
  26. */
  27. public int compare(Student o1, Student o2) {
  28. //按照学生的年龄进行升序排列
  29. if(o1.getAge() > o2.getAge()){
  30. return 1;
  31. }
  32. if(o1.getAge() == o2.getAge()){
  33. return 0;
  34. }
  35. return -1;
  36. }
  37. });
  38. System.out.println("排序后:"+list);
  39. }
  40. }
  41. class Student{
  42. private int age;
  43. public int getAge() {
  44. return age;
  45. }
  46. public void setAge(int age) {
  47. this.age = age;
  48. }
  49. @Override
  50. public String toString() {
  51. return getAge()+"";
  52. }
  53. }

groovy给list排序相关推荐

  1. groovy 对 list 排序

    在groovy中对list排序是很简单的事情.比如: def list=[] list<<[name:"aa",age:1] list<<[name:&qu ...

  2. 网际风全推数据接口_智能风控系统设计与实践

    导读 在主流互联网产品中,比如搜索和推荐的系统,为了挖掘用户潜在购买需求,缩短用户到商品或信息的距离,提高用户的使用体验,都需要使用大量的特征来刻画用户的行为.在信息安全领域,建立在人工智能技术之上的 ...

  3. 智能风控系统设计与实践

    导读 在主流互联网产品中,比如搜索和推荐的系统,为了挖掘用户潜在购买需求,缩短用户到商品或信息的距离,提高用户的使用体验,都需要使用大量的特征来刻画用户的行为.在信息安全领域,建立在人工智能技术之上的 ...

  4. Groovy学习摘要

    为什么80%的码农都做不了架构师?>>>    首先感谢翻译<Groovy in Action>Part 1的吴翊,其次感谢Groovy之父James Strachan ...

  5. TIOBE 8 月榜单:Groovy 和 Objective-C 重返前二十

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  6. 利用SPRING管理热加载的GROOVY对象!

    作者:paleXu的技术博客 来源:https://palexu.github.io/posts/spring-dynamic-load-groovy-bean?hmsr=toutiao.io& ...

  7. soapui + groovy 接口自动化测试 第八章

    一波小团战!  1.操作excel的groovy脚本 package pubimport jxl.* import jxl.write.Label import jxl.write.WritableW ...

  8. 如何使用Elasticsearch groovy script脚本更新数据

    2019独角兽企业重金招聘Python工程师标准>>> 如何使用Elasticsearch groovy script脚本更新数据 博客分类: 搜索引擎,爬虫 今天细说一下elast ...

  9. 【Elasticsearch】ElasticSearch 7.8 多字段权重排序

    1.概述 转载并且补充:https://mp.weixin.qq.com/s/0g86s-o7kgn8ZUxA3UBc0w 请看原文 读者提问:ES 的权重排序有没有示列,参考参考? 刚好之前也稍微接 ...

最新文章

  1. mongoDB数据库操作工具库
  2. LeetCode-334. Increasing Triplet Subsequence
  3. nfs服务器与客户端配置
  4. 你为什么不爱发朋友圈了?
  5. c 结构体在声明时赋值_C/C++编程笔记:C++入门知识,C++多态性和虚函数解析
  6. bash shell 中时间操作常用方法总结
  7. python内置函数map_python内置函数 map/reduce
  8. 王道机试指南读后总结-5(迷宫深搜问题详解)
  9. uc3842改可调电源教程_《学习笔记》--DC/DC电源电路设计实例
  10. VS2005的类设计器(Class Designer)中,如果显示让类继承接口,而不是实现接口?
  11. 【bzoj1045】【HAOI2008】 糖果传递
  12. 安装java虚拟机_JAVA虚拟机的安装以及JAVA的环境配置
  13. matlab2015使用dsolve错误,用matlab解常微分方程,调用dsolve是老出错 y=dsolve,用matlab解微分方程y=dsolve(’D2y+Dy2...
  14. OpenCV玩九宫格数独(一)——九宫格图片中提取数字
  15. 信息奥赛课课通(C++)p139-例3幸运数的划分
  16. 51单片机 YF-S201水流量检测传感器的使用
  17. 计算机会考作业,计算机会考Excel操作题作业文档.doc
  18. Google Colab 读取/存储 google drive(谷歌云盘)内的文件
  19. 在BASH下简单实现十进制到二进制和十六进制的转换
  20. PPT怎么添加到公众号文章

热门文章

  1. 十亿级流量的搜索前端,是怎么做架构升级的?
  2. 软件工程毕业设计 SSM留学生交流平台系统(源码+论文)
  3. 服务器信息是啥意思,那位高手能告知一下下面的服务器信息什么意思 谢谢
  4. 商业银行网银系统中的应用交付
  5. poj 魔兽世界之二:装备
  6. 很赞!Python 最好用的8个VS Code扩展!
  7. 网络爬虫笔记—滑动验证码识别
  8. 客户信息管理系统——C语言
  9. 插入图片的方法及注意
  10. 基于c语言实现 字符串排序