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

时间:2013-12-02 11:24:51

标签: groovy

我有一个常规的Order对象列表。我想在订单ID上对此列表进行排序。如果我的列表按升序排序,则按降序排序,反之亦然。解决这个问题的智能方法是什么?

1 个答案:

答案 0 :(得分:15)

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 }