Swift Language
शब्दकोश
खोज…
टिप्पणियों
इस विषय में कुछ उदाहरणों के उपयोग के लिए एक अलग आदेश हो सकता है क्योंकि शब्दकोश आदेश की गारंटी नहीं है।
डिक्लेयर करना
शब्दकोश कुंजियों और मूल्यों का एक अनियंत्रित संग्रह हैं। मान अद्वितीय कुंजी से संबंधित हैं और एक ही प्रकार के होने चाहिए।
जब एक शब्दकोश को पूरा करने के लिए पूरा वाक्यविन्यास इस प्रकार है:
var books : Dictionary<Int, String> = Dictionary<Int, String>()
हालांकि प्रारंभिक करने का अधिक संक्षिप्त तरीका:
var books = [Int: String]()
// or
var books: [Int: String] = [:]
अल्पविराम से अलग सूची में निर्दिष्ट करके कुंजियों और मूल्यों के साथ एक शब्दकोश घोषित करें। कुंजियों और मूल्यों के प्रकारों से अनुमान लगाया जा सकता है।
var books: [Int: String] = [1: "Book 1", 2: "Book 2"]
//books = [2: "Book 2", 1: "Book 1"]
var otherBooks = [3: "Book 3", 4: "Book 4"]
//otherBooks = [3: "Book 3", 4: "Book 4"]
शब्दकोश को संशोधित करना
एक शब्दकोश में एक कुंजी और मूल्य जोड़ें
var books = [Int: String]()
//books = [:]
books[5] = "Book 5"
//books = [5: "Book 5"]
books.updateValue("Book 6", forKey: 5)
//[5: "Book 6"]
यदि कोई मौजूद है या शून्य है, तो updateValue मूल मान लौटाता है।
let previousValue = books.updateValue("Book 7", forKey: 5)
//books = [5: "Book 7"]
//previousValue = "Book 6"
समान सिंटैक्स के साथ मान और उनकी कुंजी निकालें
books[5] = nil
//books [:]
books[6] = "Deleting from Dictionaries"
//books = [6: "Deleting from Dictionaries"]
let removedBook = books.removeValueForKey(6)
//books = [:]
//removedValue = "Deleting from Dictionaries"
पहुँच मान
Dictionary
में एक मूल्य को इसकी कुंजी का उपयोग करके एक्सेस किया जा सकता है:
var books: [Int: String] = [1: "Book 1", 2: "Book 2"]
let bookName = books[1]
//bookName = "Book 1"
किसी शब्द का values
संपत्ति का उपयोग करके पुन: प्रसारित किया जा सकता है:
for book in books.values {
print("Book Title: \(book)")
}
//output: Book Title: Book 2
//output: Book Title: Book 1
इसी प्रकार, किसी शब्दकोश की कुंजियों को उसकी keys
संपत्ति का उपयोग करके पुन: प्रसारित किया जा सकता है:
for bookNumbers in books.keys {
print("Book number: \(bookNumber)")
}
// outputs:
// Book number: 1
// Book number: 2
सभी key
और value
जोड़ी को एक दूसरे के अनुरूप पाने के लिए (आप एक शब्दकोश है क्योंकि यह उचित क्रम में नहीं मिलेगा)
for (book,bookNumbers)in books{
print("\(book) \(bookNumbers)")
}
// outputs:
// 2 Book 2
// 1 Book 1
ध्यान दें कि एक Dictionary
, एक Array
विपरीत, स्वाभाविक रूप से अव्यवस्थित-अर्थात्, पुनरावृत्ति के दौरान आदेश पर कोई गारंटी नहीं है।
यदि आप एक शब्दकोश के कई स्तरों का उपयोग करना चाहते हैं तो एक दोहराया सबस्क्रिप्ट सिंटैक्स का उपयोग करें।
// Create a multilevel dictionary.
var myDictionary: [String:[Int:String]]! = ["Toys":[1:"Car",2:"Truck"],"Interests":[1:"Science",2:"Math"]]
print(myDictionary["Toys"][2]) // Outputs "Truck"
print(myDictionary["Interests"][1]) // Outputs "Science"
कुंजी का उपयोग करके शब्दकोश का मूल्य बदलें
var dict = ["name": "John", "surname": "Doe"]
// Set the element with key: 'name' to 'Jane'
dict["name"] = "Jane"
print(dict)
शब्दकोश में सभी चाबियाँ प्राप्त करें
let myAllKeys = ["name" : "Kirit" , "surname" : "Modi"]
let allKeys = Array(myAllKeys.keys)
print(allKeys)
दो शब्दकोश मर्ज करें
extension Dictionary {
func merge(dict: Dictionary<Key,Value>) -> Dictionary<Key,Value> {
var mutableCopy = self
for (key, value) in dict {
// If both dictionaries have a value for same key, the value of the other dictionary is used.
mutableCopy[key] = value
}
return mutableCopy
}
}