Swift 程序 反轉(zhuǎn) Set含代碼

Swift 程序 反轉(zhuǎn) Set

默認(rèn)情況下,Swift 中的數(shù)組和集合元素的順序是固定的。愛掏網(wǎng) - it200.com但是有時候我們需要以不同的順序訪問它們,這就需要將 Swift 程序反轉(zhuǎn)。愛掏網(wǎng) - it200.com在本文中,我們將學(xué)習(xí)如何使用 Swift 提供的函數(shù)和方法來反轉(zhuǎn) Set。愛掏網(wǎng) - it200.com

我們可以使用 Swift 內(nèi)置的 reverse() 函數(shù)來反轉(zhuǎn) Set 中的元素。愛掏網(wǎng) - it200.com這個函數(shù)可以操作任意集合類型的對象。愛掏網(wǎng) - it200.com下面是一個簡單的示例:

var numbersSet = Set([1, 2, 3, 4, 5])
let reversedSet = numbersSet.reversed()

print("Original set: ")
print(numbersSet)

print("Reversed set: ")
print(reversedSet)

輸出結(jié)果如下:

Original set:
[5, 4, 3, 2, 1]
Reversed set:
[1, 2, 3, 4, 5]

從以上代碼中可以看出,我們只需調(diào)用 Set 的 reverse() 方法并將其結(jié)果存儲在新變量中即可完成集合的反轉(zhuǎn)。愛掏網(wǎng) - it200.com

與其他集合類型一樣,我們也可以使用數(shù)組的 reversed() 方法來反轉(zhuǎn)元素:

var numbersSet = Set([1, 2, 3, 4, 5])
let reversedArray = numbersSet.reversed().map { $0 }

print("Original set: ")
print(numbersSet)

print("Reversed array: ")
print(reversedArray)

這將輸出以下結(jié)果:

Original set:
[5, 4, 3, 2, 1]
Reversed array:
[1, 2, 3, 4, 5]

在這里,我們首先使用 Set 的 reverse() 方法反轉(zhuǎn)了元素,然后使用 map() 函數(shù)將其結(jié)果轉(zhuǎn)換為數(shù)組。愛掏網(wǎng) - it200.com

使用 reversed() 方法

我們也可以使用 Set 的 reversed() 方法來反轉(zhuǎn)元素。愛掏網(wǎng) - it200.com這個方法同樣適用于任何集合類型的對象。愛掏網(wǎng) - 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])

從結(jié)果可知,reversed() 方法返回一個 ReversedCollection 對象。愛掏網(wǎng) - it200.com它是一個只讀對象,你不能修改它或者在其上執(zhí)行其他任何的操作。愛掏網(wǎng) - it200.com如果你希望能夠在反轉(zhuǎn)后進(jìn)行修改,可以使用 Array() 函數(shù)將其轉(zhuǎn)換為可變數(shù)組。愛掏網(wǎng) - it200.com

以下示例演示如何使用 reversed() 方法并將其轉(zhuǎn)換為數(shù)組:

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 反轉(zhuǎn),并且使用 Array() 函數(shù)將其轉(zhuǎn)換為數(shù)組。愛掏網(wǎng) - it200.com

使用 sorted() 方法

我們可以使用 sorted() 方法對 Set 進(jìn)行排序,這樣反轉(zhuǎn)時會更加容易。愛掏網(wǎng) - it200.com以下示例演示使用 sorted() 方法對 Set 進(jìn)行反轉(zhuǎn):

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() 方法進(jìn)行排序,然后使用 .reversed() 方法將其反轉(zhuǎn)。愛掏網(wǎng) - it200.com在進(jìn)行排序時,我們必須指定排序方式,這里使用大于符號進(jìn)行排序。愛掏網(wǎng) - it200.com

使用 Collection 的 reversed() 方法

Swift 中的 Collection 是所有集合類型的父協(xié)議,因此所有集合類型都可以使用 reversed() 方法。愛掏網(wǎng) - 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 對象。愛掏網(wǎng) - it200.com你也可以使用 Array() 函數(shù)將其轉(zhuǎn)換為可變數(shù)組。愛掏網(wǎng) - 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"]

結(jié)論

反轉(zhuǎn) Set 在 Swift 中很容易。愛掏網(wǎng) - it200.com你可以使用內(nèi)置的 reverse() 方法、reversed() 方法,也可以使用 sorted() 方法對集合進(jìn)行排序后再反轉(zhuǎn)。愛掏網(wǎng) - it200.com任何集合類型都可以使用 Collection 的 reversed() 方法,并且可以將其結(jié)果轉(zhuǎn)換為數(shù)組進(jìn)行操作。愛掏網(wǎng) - it200.com這些方法可以幫助你改變元素的順序,以便更好地滿足你的特定需求。愛掏網(wǎng) - it200.com

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評論
更多 網(wǎng)友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 精品处破视频在线观看| 免费高清小黄站在线观看| 国产一区二区三区亚洲欧美| 午夜dy888| 亚洲综合色在线| 亚洲熟妇中文字幕五十中出| 亚洲国产成人精品无码区二本| 亚洲欧美国产日本| 亚洲人成77777在线观看网 | 亚洲综合一区二区精品久久| 亚洲最大综合网| 久久精品国产91久久综合麻豆自制| 久久久久亚洲av成人网| 一级一黄在线观看视频免费| 99re最新地址精品视频| 4hu四虎永久免在线视| 黄+色+性+人免费| 美女把屁屁扒开让男人玩| 热久久天天拍天天拍热久久2018| 欧美在线视频a| 日本一卡2卡3卡4卡无卡免费| 妖精视频免费网站| 天堂网404在线资源| 国产男女插插一级| 啦啦啦中文在线观看日本| 亚洲欧美日韩久久精品第一区 | 青青操免费在线观看| 爱情岛论坛亚洲品质自拍视频网站 | 国产美女精品久久久久久久免费| 国产精品你懂得| 国产在线精品一区二区不卡麻豆| 国产一区二区免费在线| 办公室娇喘的短裙老师在线视频| 亚洲码欧美码一区二区三区| 亚洲av成人片在线观看| 中国speakingathome宾馆学生 | 好大好爽好舒服视频| 国产超爽人人爽人人做| 国产特级毛片aaaaaa毛片| 国产在线精品99一卡2卡| 国产精品一二三区|