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。
廣告