Groovy Сортировка массива строк по значению с плавающей запятой - PullRequest
1 голос
/ 28 апреля 2020

У меня есть массив значений с плавающей точкой в ​​строковом формате. Я должен был отсортировать значение и отобразить в порядке убывания.

Как изменить код для сортировки по значению с плавающей запятой?

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()
    }
}

Спасибо

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Просто добавив еще один способ:

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

Счастливого обучения ...! :)

1 голос
/ 28 апреля 2020

Сначала разбираем элементы как плавающие, а затем сортируем по убыванию. Попробуйте этот код:

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}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...