nie jestem w stanie uporządkować listę obiektów przez datę w celu descedentlista sortować według daty w kolejności malejącej - Groovy szaleństwo
powiedzmy to moja klasa Rzecz
class Thing {
Profil profil
String status = 'ready'
Date dtCreated = new Date()
}
wewnątrz Sposób jestem tworzenia List things
List profiles = profil.xyz?.collect { Profil.collection.findOne(_id:it) }
List things = []
a potem wypełnić listę każdego powiązanego rzeczą każdego profilu
0.123. profiles.each() { profile,i ->
if(profile) {
things += Thing.findAllByProfilAndStatus(profile, "ready", [sort: 'dtCreated', order: 'desc']) as
}
porządku, teraz things
ma wiele rzeczy w nim, Unfortunatly [order: 'desc']
została zastosowana do każdego zbioru rzeczy i muszę uporządkować całą listę według dtCreated, który działa cudowny jak
things.sort{it.dtCreated}
Dostrojenie , teraz wszystkie rzeczy są posortowane według daty, ale w niewłaściwej kolejności, ostatnia rzecz jest ostatnią rzeczą na liście
więc muszę posortować w przeciwnym kierunku, nie znalazłem nic w sieci rozgrywaj mnie naprzód, wypróbuj takie rzeczy jak
things.sort{-it.dtCreated} //doesnt work
things.sort{it.dtCreated}.reverse() //has no effect
i nie znajduję żadnego groovyego podejścia do takiej standardowej operacji, może ktoś ma podpowiedź, jak mogę sortować moje rzeczy według daty w kolejności descedant? musi być coś takiego jak w przypadku, którego użyłem powyżej [sort: 'dtCreated', order: 'desc']
czy nie?
za wszelkie podpowiedzi Dzięki z góry
'rzeczy.sort {-it.dtCreated.time}' – vegemite4me