Swift程序检查两个字典是否相等


在 Swift 中,字典是一个无序的集合,其中数据以键值对的形式存储,键是唯一的标识符。因此,要检查两个字典是否相等,我们首先需要检查两个字典的大小是否相等。如果是,则检查两个字典是否包含相同的键值对。如果这两个条件都相等,则表示给定的两个字典相等。如果任何一个条件为假,则表示给定的字典不相等。

算法

  • 步骤 1 − 创建一个函数,该函数接受两个参数并返回布尔值。

  • 步骤 2 − 在函数中,我们首先检查两个给定字典的计数是否相同。

  • 步骤 3 − 如果计数相等,则检查给定的键值对是否相等。

  • 步骤 4 − 如果键值对相等,则返回 true,否则返回 false。

  • 步骤 5 − 创建两个包含键值对的示例字典。

  • 步骤 6 − 现在调用上面创建的函数并将它们传递进去。

  • 步骤 7 − 显示结果。

示例

在下面的 Swift 程序中,我们将检查两个字典是否相等。因此,创建两个字典。然后创建一个名为 checkEquality() 的函数,该函数以两个字典作为参数并返回一个布尔值,该值表示给定的字典是否相等。因此,它首先检查给定的字典是否具有相同数量的键值对。如果不是,则返回 false。如果是,则它将遍历第一个字典中的每个键值对,并检查第二个字典是否也包含相同的键值对。如果两个字典中的任何键值对不匹配,则返回 false,否则返回 true。因此,在给定的示例中,两个字典相同,因此我们在输出中得到“两个字典相等”的消息。

Open Compiler
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") }

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

Both the dictionaries are equal

结论

因此,这就是我们如何检查两个字典是否相等。上面讨论的方法是检查两个字典相等性的最有效方法。您还可以使用 == 运算符和 isEqual(to:) 方法,但它们不如讨论的方法好。此外,isEqual(to:) 函数仅适用于 NSDictionary。

更新于: 2023年5月9日

590 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告