Swift 程序查找字典中的最大键值对
swiftserver side programmingprogramming更新于 2025/9/21 12:22:17
本教程将讨论如何编写 Swift 程序查找字典中的最大键值对。
字典用于以键值对的形式存储数据,其排序规则不分先后顺序。字典中键的类型相同,值的类型也相同。每个键都相当于字典中关联值的标识符,每个值都有一个唯一的键。Swift 字典就像真正的字典一样。它根据标识符循环查找值。
语法
以下是创建字典的语法 -
Var mydict = [KeyType: ValueType]() 或 Var mydict : [KeyType: ValueType] = [key1: value1, key2: value2, key3: value3]
为了查找最大的键值对,我们使用 max() 函数。该函数将返回字典中最大的键值对。如果给定的字典为空,则返回 nil。
以下是相同的演示 -
输入
假设给定的输入是 -
MyDict = ["installment1": 2000, "installment2": 3902, "installment3": 7832, "installment4": 8743]
输出
所需的输出将是 -
最大键值对:"installment4": 8743
语法
以下是语法 -
Dict.max(by:{operator})!
这里的运算符是一个关闭器,用于接受条件并返回布尔值。
算法
以下是算法 -
步骤 1 - 创建一个包含键值对的字典
步骤 2 - 使用 max() 函数查找最大键或值,并使用 ! 将输出值包装到所需的数据类型中。运算符。
获取最大键:
let maximumYear = myinstalments.max(by:{$0.key < $1.key})
获取最大值:
let maximumInstalment = myinstalments.max(by:{$0.value < $1.value})
步骤 3 − 打印输出
查找字典中的最大键
示例
以下程序展示了如何在字典中查找最大键和值。
import Foundation import Glibc // Creating a dictionary var myinstalments : [String:Int] = ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902] // Maximum key let maximumYear = myinstalments.max(by:{$0.key < $1.key}) print("Yearly instalments: ", myinstalments) print("Maximum year:", maximumYear!)
输出
Yearly instalments: ["year3": 19000, "year2": 24000, "year1": 23000, "year4": 19902] Maximum year: (key: "year4", value: 19902)
在上面的代码中,我们有一个包含年度分期付款的字典。现在我们使用 max() 函数查找最大年份 -
let maximumYear = myinstalments.max(by:{$0.key < $1.key})
这里,$0.key < $1.key 表示第一个键应该小于第二个键。$0 和 $1 分别代表第一个参数和第二个参数
因此,得到的键值对为 (key: "year4", value: 19902)
查找字典中的最大值
示例
以下程序展示了如何在字典中根据键查找最大值。
import Foundation import Glibc // Creating a dictionary var myinstalments : [String:Int] = ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902] // Maximum value let maximumInstalment = myinstalments.max(by:{$0.value < $1.value}) print("Yearly instalments: ", myinstalments) print("Maximum Instalment:", maximumInstalment!)
输出
Yearly instalments: ["year1": 23000, "year3": 19000, "year4": 19902, "year2": 24000] Maximum Instalment: (key: "year2", value: 24000)
在上面的代码中,我们有一个包含年度分期付款的字典。现在我们使用 max() 函数来计算最大金额 -
let maximumInstalment = myinstalments.max(by:{$0.value < $1.value})
这里,$0.value < $1.value 表示第一个值应该小于第二个值。$0 和 $1 分别代表第一个参数和第二个参数。
因此,生成的键值对为 (key: "year2", value: 24000)