Swift 程序 反轉 Set
默認情況下,Swift 中的數組和集合元素的順序是固定的。愛掏網 - it200.com但是有時候我們需要以不同的順序訪問它們,這就需要將 Swift 程序反轉。愛掏網 - it200.com在本文中,我們將學習如何使用 Swift 提供的函數和方法來反轉 Set。愛掏網 - it200.com
我們可以使用 Swift 內置的 reverse() 函數來反轉 Set 中的元素。愛掏網 - it200.com這個函數可以操作任意集合類型的對象。愛掏網 - it200.com下面是一個簡單的示例:
var numbersSet = Set([1, 2, 3, 4, 5])
let reversedSet = numbersSet.reversed()
print("Original set: ")
print(numbersSet)
print("Reversed set: ")
print(reversedSet)
輸出結果如下:
Original set:
[5, 4, 3, 2, 1]
Reversed set:
[1, 2, 3, 4, 5]
從以上代碼中可以看出,我們只需調用 Set 的 reverse() 方法并將其結果存儲在新變量中即可完成集合的反轉。愛掏網 - it200.com
與其他集合類型一樣,我們也可以使用數組的 reversed() 方法來反轉元素:
var numbersSet = Set([1, 2, 3, 4, 5])
let reversedArray = numbersSet.reversed().map { $0 }
print("Original set: ")
print(numbersSet)
print("Reversed array: ")
print(reversedArray)
這將輸出以下結果:
Original set:
[5, 4, 3, 2, 1]
Reversed array:
[1, 2, 3, 4, 5]
在這里,我們首先使用 Set 的 reverse() 方法反轉了元素,然后使用 map() 函數將其結果轉換為數組。愛掏網 - it200.com
使用 reversed() 方法
我們也可以使用 Set 的 reversed() 方法來反轉元素。愛掏網 - it200.com這個方法同樣適用于任何集合類型的對象。愛掏網 - it200.com以下示例將演示如何使用 reversed() 方法:
var numbersSet = Set([1, 2, 3, 4, 5])
let reversedSet = numbersSet.reversed()
print("Original set: ")
print(numbersSet)
print("Reversed set: ")
print(reversedSet)
運行以上代碼,將得到以下輸出:
Original set:
[1, 2, 3, 4, 5]
Reversed set:
ReversedCollection<[Int]>([5, 4, 3, 2, 1])
從結果可知,reversed() 方法返回一個 ReversedCollection 對象。愛掏網 - it200.com它是一個只讀對象,你不能修改它或者在其上執行其他任何的操作。愛掏網 - it200.com如果你希望能夠在反轉后進行修改,可以使用 Array() 函數將其轉換為可變數組。愛掏網 - it200.com
以下示例演示如何使用 reversed() 方法并將其轉換為數組:
var numbersSet = Set([1, 2, 3, 4, 5])
let reversedArray = Array(numbersSet.reversed())
print("Original set: ")
print(numbersSet)
print("Reversed array: ")
print(reversedArray)
運行以上代碼,將得到以下輸出:
Original set:
[1, 2, 3, 4, 5]
Reversed array:
[5, 4, 3, 2, 1]
可以看出,使用 reversed() 方法我們同樣可以將 Set 反轉,并且使用 Array() 函數將其轉換為數組。愛掏網 - it200.com
使用 sorted() 方法
我們可以使用 sorted() 方法對 Set 進行排序,這樣反轉時會更加容易。愛掏網 - it200.com以下示例演示使用 sorted() 方法對 Set 進行反轉:
var numbersSet = Set([1, 2, 3, 4, 5])
let sortedArray = numbersSet.sorted(by: >)
print("Original set: ")
print(numbersSet)
print("Sorted array: ")
print(sortedArray)
print("Reversed array: ")
print(sortedArray.reversed())
運行以上代碼將得到以下輸出:
Original set:
[5, 2, 1, 4, 3]
Sorted array:
[5, 4, 3, 2, 1]
Reversed array:
[1, 2, 3, 4, 5]
可以看出,我們首先將 Set 使用 sorted() 方法進行排序,然后使用 .reversed() 方法將其反轉。愛掏網 - it200.com在進行排序時,我們必須指定排序方式,這里使用大于符號進行排序。愛掏網 - it200.com
使用 Collection 的 reversed() 方法
Swift 中的 Collection 是所有集合類型的父協議,因此所有集合類型都可以使用 reversed() 方法。愛掏網 - it200.com下面的代碼演示如何使用 Collection 的 reversed() 方法:
var citiesSet = Set(["Shanghai", "Beijing", "Guangzhou", "Shenzhen"])
let reversedArray = citiesSet.reversed()
print("Original set: ")
print(citiesSet)
print("Reversed array: ")
print(reversedArray)
運行以上代碼將得到以下輸出:
Original set:
["Shenzhen", "Guangzhou", "Shanghai", "Beijing"]
Reversed array:
ReversedCollection<[String]>("[Shenzhen, Guangzhou, Shanghai, Beijing]")
與之前的示例相同,reversed() 方法返回一個 ReversedCollection 對象。愛掏網 - it200.com你也可以使用 Array() 函數將其轉換為可變數組。愛掏網 - it200.com
var citiesSet = Set(["Shanghai", "Beijing", "Guangzhou", "Shenzhen"])
let reversedArray = Array(citiesSet.reversed())
print("Original set: ")
print(citiesSet)
print("Reversed array: ")
print(reversedArray)
運行以上代碼將得到以下輸出:
Original set:
["Shenzhen", "Guangzhou", "Shanghai", "Beijing"]
Reversed array:
["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]
結論
反轉 Set 在 Swift 中很容易。愛掏網 - it200.com你可以使用內置的 reverse() 方法、reversed() 方法,也可以使用 sorted() 方法對集合進行排序后再反轉。愛掏網 - it200.com任何集合類型都可以使用 Collection 的 reversed() 方法,并且可以將其結果轉換為數組進行操作。愛掏網 - it200.com這些方法可以幫助你改變元素的順序,以便更好地滿足你的特定需求。愛掏網 - it200.com