scalaArray排序
时间: 2023-11-24 17:59:13 浏览: 71
在Scala中,可以使用`sorted`方法对数组进行排序。该方法返回一个新的已排序数组,原始数组不受影响。
示例代码:
```scala
val arr = Array(5, 2, 8, 1, 9)
val sortedArr = arr.sorted
println(sortedArr.mkString(", ")) // 输出:1, 2, 5, 8, 9
```
如果需要对数组进行降序排序,可以使用`reverse`方法:
```scala
val arr = Array(5, 2, 8, 1, 9)
val sortedArr = arr.sorted.reverse
println(sortedArr.mkString(", ")) // 输出:9, 8, 5, 2, 1
```
如果需要自定义排序规则,可以使用`sortBy`或`sortWith`方法。`sortBy`方法需要传入一个函数,该函数接受数组元素并返回一个可以比较的值,例如:
```scala
val arr = Array("apple", "banana", "pear", "orange")
val sortedArr = arr.sortBy(_.length)
println(sortedArr.mkString(", ")) // 输出:pear, apple, banana, orange
```
上面代码中,根据字符串长度排序。
`sortWith`方法需要传入一个比较函数,该函数接受两个数组元素并返回一个布尔值,表示它们的顺序。例如:
```scala
val arr = Array("apple", "banana", "pear", "orange")
val sortedArr = arr.sortWith(_.charAt(0) < _.charAt(0))
println(sortedArr.mkString(", ")) // 输出:apple, banana, orange, pear
```
上面代码中,按照第一个字母的字母顺序排序。
阅读全文