如何在Groovy中对文本+日期字符串列表进行排序

fre*_*d05 2 sorting groovy

我有一个字符串列表,每个字符串包含日期的文本,如下所示:

"foo_6.7.2016"
"foo_5.10.2016"
"foo_6.30.2016"
"foo_6.23.2016"
"foo_6.2.2016"
"foo_5.22.2016"
Run Code Online (Sandbox Code Playgroud)

我需要按日期对它们进行排序并得到:

"foo_6.30.2016"
"foo_6.23.2016"
"foo_6.7.2016"
"foo_6.2.2016"
"foo_5.22.2016"
"foo_5.10.2016"
Run Code Online (Sandbox Code Playgroud)

tim*_*tes 6

另一种选择可能是:

def foos = [ 
    "foo_6.7.2016",
    "foo_5.10.2016",
    "foo_6.30.2016",
    "foo_6.23.2016",
    "foo_6.2.2016",
    "foo_5.22.2016"
]

def sorted = foos.sort(false) { Date.parse('M.d.yyyy', it - 'foo_') }.reverse() 
Run Code Online (Sandbox Code Playgroud)