Swift 编程,反转一个集合


在 Swift 中,集合是仅包含唯一值的无序集合。正如我们所知,集合是一种无序集合,所以没有直接的方法(比如数组)来反转集合中的元素。但是,你可以通过将集合转换成数组,然后应用 reversed() 方法或任何用户自定义函数来反转集合。然后将结果转换回集合。让我们通过示例讨论此方法。

示例 1

在以下示例中,我们将有一个字符串类型的集合。现在,我们将它转换成数组来反转元素,然后应用 reversed() 函数,然后将最终结果转换回集合并显示输出。

import Foundation
import Glibc

var myFavcolor : Set = ["Blue", "Pink", "Yellow", "Sky blue", "Red"]

// Converting set into array
var arr = Array(myFavcolor)

// Reverse the set using reversed() function
var revArr = arr.reversed()

// Convert the result back into the set
var resultantSet = Set(revArr)

print("Reversed Set is", resultantSet)

输出

Reversed Set is ["Pink", "Yellow", "Red", "Sky blue", "Blue"]

示例 2

在以下示例中,我们将有一个整数类型的集合。现在,我们首先使用 Array() 初始化器将集合转换成数组。然后反转数组的顺序,然后使用 Set() 初始化器/构造函数将结果数组转换回集合。

import Foundation
import Glibc

var myFavNum: Set<Int> = [12, 98, 34, 1, 34, 22, 67]

// Converting set into array
var myArr = Array(myFavNum)

let sizze = myArr.count

// Reverse the set
for i in 0..<sizze/2 {
   let j = sizze - i - 1
   let t = myArr[i]
   myArr[i] = myArr[j]
   myArr[j] = t
}

// Convert the result back into the set
let revSet = Set(myArr)

print(revSet)

输出

[12, 34, 98, 22, 67, 1]

总结

所以这就是我们如何反转一个集合。在上述讨论的示例中,集合中元素的顺序是任意的,因此反转集合的顺序不一定与原始集合相同。

更新日期: 2023 年 4 月 24 日

182 次浏览

开启您的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.