使用浮点值的Groovy字符串数组排序

使用浮点值的Groovy字符串数组排序,groovy,jenkins-groovy,Groovy,Jenkins Groovy,我有一个字符串格式的浮点值数组。我将对值进行排序并按降序显示 如何将此代码更改为按浮点值排序 class Sorting { def static main(args) { def a = ["13.17", "14.18", "15.19", "16.21", "17.22", "18.24", "19.25", "20.26", "21.26", "22.27", "23.28", "24.29", "25.30", "26.31", "27.32", "28.33"

我有一个字符串格式的浮点值数组。我将对值进行排序并按降序显示

如何将此代码更改为按浮点值排序

class Sorting {
    def static main(args) {
        def a = ["13.17", "14.18", "15.19", "16.21", "17.22", "18.24", "19.25", "20.26", "21.26", "22.27", "23.28", "24.29", "25.30", "26.31", "27.32", "28.33", "29.34", "3.5", "30.35", "31.35", "32.36", "33.37", "34.38", "36.41", "4.6", "5.8", "6.9", "7.10"]
        println a.sort()
    }
}

谢谢

首先将元素解析为浮点数,然后按降序排序。请尝试以下代码:

def a = ["13.17", "14.18", "15.19", "16.21", "17.22", "18.24", "19.25", "20.26", "21.26", "22.27", "23.28", "24.29", "25.30", "26.31", "27.32", "28.33", "29.34", "3.5", "30.35", "31.35", "32.36", "33.37", "34.38", "36.41", "4.6", "5.8", "6.9", "7.10"]         

println a.collect{it as Float}.sort{-it}

只是增加了另一种方式:

a*.toFloat().sort().reverse()

快乐学习…!:)

小心!如果
a
可能是
null
,那么我们应该使用
a*.toFloat()?.sort()?.reverse()
来防止NPE