如果Groovy列表按升序排序,则按降序排序,反之亦然

如果Groovy列表按升序排序,则按降序排序,反之亦然,groovy,Groovy,我有一个Order对象的groovy列表。我想按顺序id对列表进行排序。如果我的列表按升序排序,则按降序排序,反之亦然。解决这个问题的明智方法是什么?包括破折号应该适用于任何领域,比如creationDate? class Order { int id String toString() { "O$id" } } def list = [ new Order( id: 1 ), new Order( id: 2 ), new Order( id: 3 ) ] // Sort

我有一个Order对象的groovy列表。我想按顺序id对列表进行排序。如果我的列表按升序排序,则按降序排序,反之亦然。解决这个问题的明智方法是什么?

包括破折号应该适用于任何领域,比如creationDate?
class Order {
    int id
    String toString() { "O$id" }
}

def list = [ new Order( id: 1 ), new Order( id: 2 ), new Order( id: 3 ) ]

// Sort ascending (modifies original list as well)
println list.sort { it.id }

// Sort descending (modifies original list as well)
println list.sort { -it.id }

// Sort ascending (don't modify original)
println list.sort( false ) { it.id }

// Sort descending (don't modify original)
println list.sort( false ) { -it.id }