Swift程序检查两个字典是否相等
在 Swift 中,字典是一个无序的集合,其中数据以键值对的形式存储,键是唯一的标识符。因此,要检查两个字典是否相等,我们首先需要检查两个字典的大小是否相等。如果是,则检查两个字典是否包含相同的键值对。如果这两个条件都相等,则表示给定的两个字典相等。如果任何一个条件为假,则表示给定的字典不相等。
算法
步骤 1 − 创建一个函数,该函数接受两个参数并返回布尔值。
步骤 2 − 在函数中,我们首先检查两个给定字典的计数是否相同。
步骤 3 − 如果计数相等,则检查给定的键值对是否相等。
步骤 4 − 如果键值对相等,则返回 true,否则返回 false。
步骤 5 − 创建两个包含键值对的示例字典。
步骤 6 − 现在调用上面创建的函数并将它们传递进去。
步骤 7 − 显示结果。
示例
在下面的 Swift 程序中,我们将检查两个字典是否相等。因此,创建两个字典。然后创建一个名为 checkEquality() 的函数,该函数以两个字典作为参数并返回一个布尔值,该值表示给定的字典是否相等。因此,它首先检查给定的字典是否具有相同数量的键值对。如果不是,则返回 false。如果是,则它将遍历第一个字典中的每个键值对,并检查第二个字典是否也包含相同的键值对。如果两个字典中的任何键值对不匹配,则返回 false,否则返回 true。因此,在给定的示例中,两个字典相同,因此我们在输出中得到“两个字典相等”的消息。
import Foundation
import Glibc
// Function to check if the given two dictionaries are equal or not
func checkEquality(D1: [String:String], D2: [String: String])-> Bool {
// Checking if both the dictionaries have the same size or not
guard D1.count == D2.count else {
return false
}
// Checking if both the dictionaries have same key-value pairs or not
for (key, value) in D1{
guard let val = D2[key], value == val else {
return false
}
}
return true
}
let dict1 = ["name": "Mona", "company": "XMK.pvt", "city": "Mumbai"]
let dict2 = ["name": "Mona", "company": "XMK.pvt", "city": "Mumbai"]
if checkEquality(D1:dict1, D2: dict2) {
print("Both the dictionaries are equal")
} else {
print("Given dictionaries are not equal")
}
输出
Both the dictionaries are equal
结论
因此,这就是我们如何检查两个字典是否相等。上面讨论的方法是检查两个字典相等性的最有效方法。您还可以使用 == 运算符和 isEqual(to:) 方法,但它们不如讨论的方法好。此外,isEqual(to:) 函数仅适用于 NSDictionary。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP