以不寻常的方式在Groovy中对列表进行排序
发布时间:2020-12-14 16:32:46 所属栏目:大数据 来源:网络整理
导读:我有一个列表,让我们说[猫,狗,牛,马],我希望按以下方式排序 如果Cat在列表中,它应该首先出现 如果Cow在名单上,它应该排在第二位 其余元素应按字母顺序排列. 有任何建议如何在Groovy中完成这项工作? 解决方法 蒂姆的回答非常聪明.我个人更喜欢使用列表操作,
我有一个列表,让我们说[猫,狗,牛,马],我希望按以下方式排序
>如果Cat在列表中,它应该首先出现 有任何建议如何在Groovy中完成这项工作? 解决方法
蒂姆的回答非常聪明.我个人更喜欢使用列表操作,因为它生成的代码稍微容易阅读.
def highPriority = [ 'Cat','Cow' ] def list = [ 'Armadillo','Dog','Cow','Zebra','Horse','Cat' ] def remainder = ( list - highPriority ).sort() list.retainAll( highPriority ) list.sort{ highPriority.indexOf( it ) } + remainder 这会给你两次牛.如果你不想重复,使用intersect非常简单. def highPriority = [ 'Cat','Cat' ] list.intersect( highPriority ).sort{ highPriority.indexOf( it ) } + ( list - highPriority ).sort() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |