Swift程序从集合中获取随机元素
本教程将讨论如何编写 Swift 程序以从集合中获取随机元素。
集合是 Swift 中的一种主要集合类型。它是一个无序集合,存储相同数据类型的唯一值。不允许在同一集合中存储不同类型的值。集合可以是可变的或不可变的。
语法
以下是集合的语法:
var name : Set = [element1, element2, element3]
要从集合中获取随机元素,Swift 提供了一个名为 randomElement() 的内置函数。此函数从给定的集合中返回一个随机元素。此处返回的对象类型为 Optional<T>。因此,我们将值类型转换为所需的数据类型。如果给定的集合为空,则它将返回 nil。
下面是演示:
输入
假设我们的给定输入为:
MySet = [34, 5, 6, 78, 12, 3]
输出
所需的输出将为:
Random Number = 12
语法
以下是语法:
SetName.randomElement()
算法
以下是算法:
步骤 1 - 声明并初始化一个带有值的集合。
步骤 2 - 使用 randomElement() 查找随机元素:
var randEle = myNum.randomElement()!
此函数将以 Optional 类型返回值,因此您可以使用 ! 或 let 将其类型转换为所需的数据类型。
步骤 3 - 打印输出
示例 1
以下程序展示了如何从集合中获取随机元素。
import Foundation import Glibc // Creating a Set of string Type var myNum: Set = [3, 56, 1, 98, 23, 4] // Getting random elements // Here we use ! To type cast the // value into the integer type var randEle = myNum.randomElement()! print("Set: ", myNum) print("Random Element: ", randEle)
输出
Set: [56, 4, 1, 98, 23, 3] Random Element: 98
在上面的代码中,我们有一个整数类型的集合 [1, 56, 98, 23, 4, 3]。现在我们使用 randomElement() 函数查找随机元素。
var randEle = myNum.randomElement()!
因此,随机元素为 4。
示例 2
以下程序展示了如何从集合中获取随机元素。
import Foundation import Glibc // Creating a Set of string Type var myNames: Set = ["Susma", "Punita", "Piku", "Poonam", "Soona"] // Creating an empty Set var mySet = Set<String>() // Getting random elements // Here we use let to type cast the // value into the required data type print("Set 1: ", myNames) if let setSize1 = myNames.randomElement(){ print("Random Element: ", setSize1) } else{ print("Random Number: Nil") } print("Set 2: ", mySet) if let setSize2: String = mySet.randomElement(){ print("Random Element: ", setSize2) } else{ print("Random Number: Nil") }
输出
Set 1: ["Poonam", "Soona", "Susma", "Piku", "Punita"] Random Element: Susma Set 2: [] Random Number: Nil
在上面的代码中,我们有两个集合:myNames 是字符串类型 ["Piku", "Punita", "Poonam", "Soona", “Susma”],而 mySet 是一个空集合。现在我们使用 randomElement() 从集合中获取随机元素:
setSize1 = myNames.randomElement() let setSize2: String = mySet.randomElement()
因此,myName 集合中的随机元素是 Susma,而 mySet 中的元素为 nil,因为此集合为空。
广告