Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了groovy list 根据双重条件排序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

groovy语言有sort()方法可以对list进行排序,如

def list = [1,3,5,6,2,4,2]

println list.sort()
输出
[1,6]

这是最简单的排序,如果是英文,则会按照字母顺序进行排列。有时需要一些更为复杂的排序,如:

def employees = [
        [id: 1,lv: 2,seniority: 3],[id: 2,lv: 1,seniority: 2],[id: 3,seniority: 2]
]
现要求把员工信息先按等级、等级相同再按工龄排序,即类似把上述数据看成数据库一张表,查询语句为:
SELEct * from employees order by lv,seniority
这时需要通过闭包来根据条件排序
employees.sort { a,b-> 
	a.lv < b.lv ? -1: a.seniority < b.seniority ? 0 : 1
}
println employees
输出为:[[id:2,lv:1,seniority:2],[id:3,lv:2,[id:1,seniority:3]],是我们想要的结果,大概的原理是把employees里的每两个元素赋给a,b再根据比较a,b的等级和工龄返回true和false,决定要不要替换a,b的顺序,具体细节,本人也模棱两可,如有幸遇到大神阅读,还请指点一二

大佬总结

以上是大佬教程为你收集整理的groovy list 根据双重条件排序全部内容,希望文章能够帮你解决groovy list 根据双重条件排序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。