- Published on
Swiftda Dictionary
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
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:
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
Stringturida. Dictionary turli tipdagi kalit va qiymatlarga ham ega bo'lishi mumkin.
Misol:
Turli tipdagi kalit va qiymatlar bilan:
Bu misolda kalitlar Int, qiymatlar esa String tipida.
Dictionaryga element qo'shish
Kengaytirish uchun dictionary nomi bilan [] ishlatiladi.
Bu yerda:
capitalCity["Japan"] = "Tokyo"
yangi kalit/qiymat juftligini qo'shdi.
Dictionary qiymatini o'zgartirish
Xuddi shu usul bilan qiymatni ham o'zgartirish mumkin.
112 kalitidagi "Kyle" qiymati "Stan"ga o'zgardi.
Dictionarydan elementlarni olish
Swiftda dictionary kalitlari va qiymatlari mustaqil olinishi mumkin.
1. Faqat kalitlarni olish
2. Faqat qiymatlarni olish
Dictionarydan element o'chirish
removeValue() metodidan foydalaniladi.
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
Dictionary elementlar sonini topish
Bo'sh Dictionary yaratish
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.
π Masalalarni qanday yechish kerak?
β Namuna: 1-masala yechimi
Masala: 1 dan n gacha sonlar uchun dictionary yarating (kalit: son, qiymat: son * 2) va elementlar sonini qaytaring.
Bosqichma-bosqich yechim:
1-qadam: Masalani tushunish
n = 5β dict:[1: 2, 2: 4, 3: 6, 4: 8, 5: 10]β 5 elementn = 3β dict:[1: 2, 2: 4, 3: 6]β 3 element
2-qadam: Dictionary yaratish
var dict = [Int: Int]()
for i in 1...n {
dict[i] = i * 2
}
return dict.count
3-qadam: To'liq yechim
Natija: Barcha testlar o'tadi β
Izoh:
var dict = [Int: Int]()β bo'sh dictionary yaratishdict[i] = i * 2β kalit va qiymat qo'shishdict.countβ elementlar sonini qaytaradi- n ta kalit/qiymat juftligi bo'ladi
Xulosa
- Dictionary β kalit/qiymat juftliklari to'plami
- Kalitlar β noyob bo'lishi kerak
- Tartibsiz β elementlar tartibi yo'q
- dict[key] = value β element qo'shish/o'zgartirish
- removeValue() β element o'chirish
- keys β barcha kalitlar
- values β barcha qiymatlar