Published on

Swiftda Dictionary

Authors

Swiftda dictionary tartibsiz elementlar to‘plamidir. U elementlarni kalit/qiymat ko‘rinishida saqlaydi. Bu yerda kalitlar har bir qiymat bilan bog‘langan noyob identifikatorlardir.

Keling, bir misol ko‘ramiz.

Agar davlatlar va ularning poytaxtlari haqida ma’lumot saqlamoqchi bo‘lsak, davlat nomlarini kalit, poytaxtlarni esa qiymat sifatida yozishimiz mumkin.

Kalitlar va qiymatlar:

Nepal — Kathmandu
Italy — Rome
England — London

Dictionary yaratish

Quyidagicha dictionary yaratishimiz mumkin:

var capitalCity = ["Nepal": "Kathmandu", "Italy": "Rome", "England": "London"]
print(capitalCity)

Natija:

["Nepal": "Kathmandu", "England": "London", "Italy": "Rome"]

Yuqoridagi misolda biz capitalCity nomli dictionary yaratdik. Bu yerda:

  • Kalitlar: "Nepal", "Italy", "England"
  • Qiymatlar: "Kathmandu", "Rome", "London"

Kodni ishga tushirganimizda natija tartibi boshqacha bo‘lishi mumkin, chunki dictionary tartibga ega emas.

Bu yerda kalit va qiymatlarning ikkisi ham String turida. Dictionary turli tipdagi kalit va qiymatlarga ham ega bo‘lishi mumkin.

Misol:

Turli tipdagi kalit va qiymatlar bilan:

var numbers = [1: "One", 2: "Two", 3: "Three"]
print(numbers)

Natija:

[3: "Three", 1: "One", 2: "Two"]

Bu misolda kalitlar Int, qiymatlar esa String tipida.

Dictionaryga element qo‘shish

Kengaytirish uchun dictionary nomi bilan [] ishlatiladi.

var capitalCity = ["Nepal": "Kathmandu", "England": "London"]
print("Initial Dictionary: ",capitalCity)

capitalCity["Japan"] = "Tokyo"

print("Updated Dictionary: ",capitalCity)
print(capitalCity["Japan"])

Natija:

Initial Dictionary:  ["Nepal": "Kathmandu", "England": "London"]
Updated Dictionary:  ["Nepal": "Kathmandu", "England": "London", "Japan": "Tokyo"]

Bu yerda:

capitalCity["Japan"] = "Tokyo"

yangi kalit/qiymat juftligini qo‘shdi.

Dictionary qiymatini o‘zgartirish

Xuddi shu usul bilan qiymatni ham o‘zgartirish mumkin.

var studentID = [111: "Eric", 112: "Kyle", 113: "Butters"]
print("Initial Dictionary: ", studentID)

studentID[112] = "Stan"

print("Updated Dictionary: ", studentID)

Natija:

Initial Dictionary:  [111: "Eric", 113: "Butters", 112: "Kyle"]
Updated Dictionary:  [111: "Eric", 113: "Butters", 112: "Stan"]

112 kalitidagi "Kyle" qiymati "Stan"ga o‘zgardi.

Dictionarydan elementlarni olish

Swiftda dictionary kalitlari va qiymatlari mustaqil olinishi mumkin.

1. Faqat kalitlarni olish

var cities = ["Nepal":"Kathmandu", "China":"Beijing", "Japan":"Tokyo"]

print("Dictionary: ", cities)

var countryName  = Array(cities.keys)

print("Keys: ", countryName)

Natija:

Dictionary:  ["Nepal": "Kathmandu", "Japan": "Tokyo", "China": "Beijing"]
Keys:  ["Nepal", "Japan", "China"]

2. Faqat qiymatlarni olish

var cities = ["Nepal":"Kathmandu", "China":"Beijing", "Japan":"Tokyo"]

print("Dictionary: ", cities)

var countryName  = Array(cities.values)

print("Values: ", countryName)

Natija:

Dictionary:  ["Nepal": "Kathmandu", "China": "Beijing", "Japan": "Tokyo"]
Values:  ["Kathmandu", "Beijing", "Tokyo"]

Dictionarydan element o‘chirish

removeValue() metodidan foydalaniladi.

var studentID = [111: "Eric", 112: "Kyle", 113: "Butters"]

print("Initial Dictionary: ", studentID)

var removedValue  = studentID.removeValue(forKey: 112)

print("Dictionary After removeValue(): ", studentID)

Natija:

Initial Dictionary:  [113: "Butters", 111: "Eric", 112: "Kyle"]
Dictionary After removeValue():  [111: "Eric", 113: "Butters"]

removeValue(forKey: 112) — 112 kalitiga tegishli elementni o‘chiradi.

Eslatma: Barcha elementlarni o‘chirish uchun removeAll() ishlatiladi.

Dictionaryning boshqa metodlari

sorted() — elementlarni tartiblaydi shuffled() — elementlar tartibini aralashtiradi contains() — ma’lum element mavjudligini tekshiradi randomElement() — tasodifiy element qaytaradi firstIndex() — berilgan elementning indeksini qaytaradi

Dictionary bo‘ylab iteratsiya qilish

var classification = ["Fruit": "Apple", "Vegetable": "Broccoli", "Beverage": "Milk"]

print("Keys: Values")

for (key,value) in classification {
  print("\(key): \(value)")
}

Natija:

Keys: Values
Vegetable: Broccoli
Beverage: Milk
Fruit: Apple

Dictionary elementlar sonini topish

var studentID = [111: "Eric", 112: "Kyle", 113: "Butters"]
print(studentID.count)

Natija:

3

Bo‘sh Dictionary yaratish

var emptyDictionary =  [Int: String]()
print("Empty Dictionary: ",emptyDictionary)

Natija:

Empty Dictionary:  [:]

Bu yerda:

[Int: String]()

  • Int — kalitlar integer bo‘lishini
  • String — qiymatlar string bo‘lishini bildiradi

Bo‘sh dictionary yaratishda ma’lumot turi majburiy ko‘rsatiladi.