Darsliklar Dart Lug’atlar (Maps)

Dart Dart Lug’atlar (Maps)

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.

Mapkalit-qiymat juftliklaridan iborat to’plam. Har bir kalit noyob bo’lib, u orqali qiymatga tez murojaat qilinadi. U jingalak qavs {} ichida kalit: qiymat shaklida 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.