我有这样的数组:
def arr = [
"v3.1.20161004.0",
"v3.1.20161004.1",
"v3.1.20161004.10",
"v3.1.20161004.11",
"v3.1.20161004.2",
"v3.1.20161004.3",
"v3.1.20161004.30",
]
我需要得到这个:
def arr = [
"v3.1.20161004.0",
"v3.1.20161004.1",
"v3.1.20161004.2",
"v3.1.20161004.3",
"v3.1.20161004.10",
"v3.1.20161004.11",
"v3.1.20161004.30",
]
如何按最后一个号码“.x”排序?
答案 0 :(得分:3)
您可以对result
上的每个字符串进行标记,然后将最后一个元素作为整数获取,并对此进行排序(传递.
以返回新列表)
false
答案 1 :(得分:2)
排序数组时,您可以定义排序闭包。在这种情况下,您可以使用太空船操作员分割点并进行排序:
arr.sort { a, b -> a.tokenize('.').last().toInteger() <=> b.tokenize('.').last().toInteger() }