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. 【ACM】杭电OJ 2007
  2. ASP.NET 2.0 页面编译方式
  3. 经典php代码,10个非常经典的php代码片段.doc
  4. java文件批量重命名6,批量重命名文件DOS脚本
  5. 【C/C++11】天气APP:txt/xml文件处理入库(psurfdata.cpp,_shqx.h),数据结构设计(PowerDesigner)
  6. Custom PuTTY Color Themes
  7. 协议簇:TCP 解析:TCP 数据传输
  8. 目标检测——主干网络backbone的测试方法
  9. Android平台ROM的定制及精简教程
  10. abaqus帮助文档html,2534-VUMAT用户子程序翻译ABAQUS帮助手册.doc
  11. 世界五大黑客:代码创造他们,他们改变世界!
  12. win7下修改php.ini的配置路径
  13. ORACLE 全角数字转半角数字
  14. Python moviepy 快速视频剪辑编辑神器
  15. 使用4G模块实现IOT_Python库中,如何使用jieba模块来实现古典名著《西游记》的分词...
  16. signature=d363d26bda212f777fef81d270ecd42b,基于DNA-pooling全基因组重测序初步筛查CAD易感基因变异位点...
  17. 2016年云计算会议_云计算会议2012
  18. 学习水泵相关知识:基本参数、特性曲线及工况的确定
  19. 阿秀朋友先后折戟腾讯、字节、快手、网易、滴滴、深信服后,终于成功上岸了...
  20. 业务系统遭黑客攻击,深信达MCK解决服务器的最后一米安全问题

热门文章

  1. 苹果手机怎么取消优酷自动续费_优酷VIP会员:优酷怎么取消自动续费
  2. STM32开发笔记26:STM32L0低功耗设计——Stop模式下的真实功耗
  3. 锐捷配置多观察口镜像
  4. 九秒社团创始人李明:移动互联网时代开源社区发展之道
  5. JAVA学习必须掌握的框架,不看后悔
  6. 实现php模型基类,ThinkPHP5 模型(一:模型基类) | 剑花烟雨江南
  7. MySQL优化面试准备
  8. (千万不要点)后端面经
  9. uni-app 混合开发
  10. PPT如何转成PDF格式文档