gpt4 book ai didi

java - 按日期降序排序列表 - groovy madness

转载 作者:IT老高 更新时间:2023-10-28 20:47:41 28 4
gpt4 key购买 nike

我无法按日期降序对对象列表进行排序

假设这是我的类事物

class Thing {

Profil profil
String status = 'ready'
Date dtCreated = new Date()
}

在我创建 List things

的方法中
            List profiles = profil.xyz?.collect { Profil.collection.findOne(_id:it) }

List things = []

然后我用每个配置文件的每个关联 Thing 填充列表

            profiles.each() { profile,i ->
if(profile) {
things += Thing.findAllByProfilAndStatus(profile, "ready", [sort: 'dtCreated', order: 'desc']) as
}

好的,现在 things 里面有很多东西,不幸的是 [order: 'desc'] 被应用到每组东西上,我需要排序dtCreated 的整个列表。效果很好,就像

            things.sort{it.dtCreated}

好的,现在所有的东西都按日期排序,但是顺序错误,最近的东西是列表中的最后一个东西

所以我需要按相反的方向排序,我没有在网上找到任何让我前进的东西,我尝试了类似

            things.sort{-it.dtCreated} //doesnt work
things.sort{it.dtCreated}.reverse() //has no effect

而且我没有为这种标准操作找到任何常规方法,也许有人提示我如何按日期按降序对我的东西进行排序?上面一定有类似 orm 我用过的 [sort: 'dtCreated', order: 'desc']不是吗?

最佳答案

代替

things.sort{-it.dtCreated}

你可以试试

things.sort{a,b-> b.dtCreated<=>a.dtCreated}

reverse() 什么都不做,因为它创建一个新列表而不是改变现有列表。

things.sort{it.dtCreated}
things.reverse(true)

应该工作

things = things.reverse()

也是。

关于java - 按日期降序排序列表 - groovy madness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17223851/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com