Lug’atlar (Maps) — kalit-qiymat juftliklarini saqlaydigan to’plam. List elementlarni indeks bilan saqlasa, Map ularni mazmunli kalit bilan saqlaydi. Telefon kitobiga o’xshaydi: ism (kalit) orqali raqamni (qiymat) topasiz. Map — Dart va Flutter’da eng ko’p ishlatiladigan tuzilmalardan biri.
Map — kalit-qiymat juftliklaridan iborat to’plam. Har bir kalit noyob bo’lib, u orqali qiymatga tez murojaat qilinadi. U jingalak qavs
{}ichidakalit: qiymatshaklida yoziladi.
Map yaratish
Map kalit-qiymat juftliklari bilan yaratiladi:
void main() {
var yoshlar = {
"Farrux": 26,
"Master Sherkulov": 30,
"Aziz": 22
};
print(yoshlar);
print(yoshlar["Farrux"]);
}
{Farrux: 26, Master Sherkulov: 30, Aziz: 22}
26
"Farrux": 26 — kalit va qiymat juftligi. Qiymatga raqamli indeks emas, kalit (yoshlar["Farrux"]) orqali murojaat qilinadi.
Element qo’shish va o’zgartirish
Map ga yangi juftlik qo’shish va mavjudini o’zgartirish oson:
void main() {
var narxlar = {"telefon": 12000000};
narxlar["noutbuk"] = 8500000; // yangi qo'shildi
narxlar["telefon"] = 11000000; // mavjud o'zgartirildi
print(narxlar);
}
{telefon: 11000000, noutbuk: 8500000}
narxlar["noutbuk"] = ... — yangi kalit bo’lsa qo’shadi, mavjud bo’lsa o’zgartiradi. Bu Map bilan ishlashning asosiy usuli.
Foydali metodlar
Map bir necha qulay metod va xususiyatga ega. Ularni jadvalda ko’ramiz:
| Metod/xususiyat | Vazifasi |
|---|---|
keys |
barcha kalitlar |
values |
barcha qiymatlar |
containsKey() |
kalit bor-yo’qligi |
remove() |
juftlikni o’chiradi |
length |
juftliklar soni |
Map bo’ylab yurish
Map ni forEach yoki for-in bilan aylanib chiqish mumkin:
void main() {
var yoshlar = {"Farrux": 26, "Aziz": 22};
yoshlar.forEach((kalit, qiymat) {
print("$kalit: $qiymat yosh");
});
}
Farrux: 26 yosh
Aziz: 22 yosh
forEach har juftlikning kaliti va qiymatini alohida berdi. Bu Map dagi barcha ma’lumotni qayta ishlashda foydali.
Kalitlar va qiymatlar
keys va values barcha kalit va qiymatlarni alohida beradi:
void main() {
var narxlar = {"telefon": 12000, "noutbuk": 8500};
print(narxlar.keys);
print(narxlar.values);
}
(telefon, noutbuk)
(12000, 8500)
Xulosa
Bu bo’limda Map — kalit-qiymat to’plami, element qo’shish/o’zgartirish, foydali metodlar (keys, values, containsKey) va forEach bilan aylanishni ko’rib chiqdik. Map tez izlash va tuzilmali ma’lumot uchun ideal. Keyingi darsda kortejlar (Tuples) ga o’tamiz.