在Groovy中对列表进行排序

sup*_*ghs 0 sorting groovy list

对不起,如果这是一个直接的事情,我是Groovy的新手.我正在试图弄清楚如何在每个子列表中的"使用"键上对此列表进行排序,但我似乎无法弄明白:

[[name:foo, uses:2], [name:bar, uses:1], [name:baz, uses:4]]
Run Code Online (Sandbox Code Playgroud)

我希望得到以下结果:

[[name:baz, uses:4], [name:foo, uses:2], [name:bar, uses:1]]
Run Code Online (Sandbox Code Playgroud)

那里有人知道如何最好地处理这个问题吗?我检查了类似的问题,但找不到任何与Groovy有关的内容.

提前致谢.

Jef*_*rey 5

最简单的方法是使用该sort方法

def sorted = lists.sort( {a, b -> b["uses"] <=> a["uses"] } )
sorted.each { 
 println it
}

// prints
// [name:baz, uses:4]
// [name:foo, uses:2]
// [name:bar, uses:1]
Run Code Online (Sandbox Code Playgroud)