跳到主要内容

Swift集合的sorted()方法

sorted() 方法可以按照指定的顺序(升序或降序)对集合中的项进行排序。

示例

var numbers: Set = [1, 3, 8, 5, 2]

// 对 numbers 集合进行排序
var result = numbers.sorted()

print(result)

// 输出: [1, 2, 3, 5, 8]

sorted() 语法

集合 sorted() 方法的语法如下:

set.sorted(by: operator)

这里,setSet 类的一个对象。

sorted() 参数

sorted() 方法可以接受一个参数:

  • operator(可选) - 如果我们传递大于号 >,集合会被反转(或按降序排列)

sorted() 返回值

sorted() 方法返回一个已排序的数组。

示例 1:Swift 集合排序

// 字符串集合
var names: Set = ["Adam", "Jeffrey", "Fabiano", "Danil", "Ben"]

// 对 names 集合进行排序
var result1 = names.sorted()

print(result1)

// 整数集合
var priceList: Set = [1000, 50, 2, 7, 14]

// 对 priceList 集合进行排序
var result2 = priceList.sorted()

print(result2)

输出

["Adam", "Ben", "Danil", "Fabiano", "Jeffrey"]
[2, 7, 14, 50, 1000]

在这里,我们可以看到 names 集合按字符串的升序进行排序。例如,"Adam" 在 "Danil" 之前,因为 "A" 在 "D" 之前。

同样,priceList 集合按升序排序。

示例 2:按降序排序

// 字符串集合
var names = ["Adam", "Jeffrey", "Fabiano", "Danil", "Ben"]

// 对 names 集合进行排序
names.sorted(by: >)

print(names)

// 整数集合
var priceList = [1000, 50, 2, 7, 14]

// 对 priceList 集合进行排序
priceList.sorted(by: >)

print(priceList)

输出

["Jeffrey", "Fabiano", "Danil", "Ben", "Adam"]
[1000, 50, 14, 7, 2]

在这里,为了按降序排序元素,我们向 sorted() 方法传递了 > 运算符。

注意: 我们也可以传递 < 运算符以按升序排序元素。但是,如果我们不传递任何参数,sorted() 方法将默认以升序排列元素。