Clear : stekni tozalaydi
O'z ichiga oladi : element stekda yoki yo'qligini tekshiradi va agar mavjud bo'lsa, true qiymatini qaytaradi.
Push : stekning yuqori qismidagi stekga element qo‘shadi
Pop : ochiladi va stekdan birinchi elementni qaytaradi
Peek : shunchaki stekdan birinchi elementni olib tashlamasdan qaytaradi
Keling, bir misolni ko'rib chiqaylik:
var people = new Stack();
odamlar.Push("Tom");
// odamlar = { Tom }
odamlar.Push("Sam");
// odamlar = { Sem, Tom }
odamlar.Push("Bob");
// odamlar = {Bob, Sem, Tom}
// stekning birinchi elementini olib tashlamasdan oling
string headPerson = people.Peek();
Console.WriteLine(headPerson); // Bob
string person1 = people.Pop();
// odamlar = { Sem, Tom }
Console.WriteLine(1-shaxs); // Bob
string person2 = people.Pop();
// odamlar = { Tom }
Console.WriteLine(shaxs2); // Sam
string person3 = people.Pop();
// odamlar = {}
Console.WriteLine(shaxs3); // Tom
Stackning ishi quyidagi rasm bilan ifodalanishi mumkin:
Shuni ta'kidlash kerakki, agar Peek yoki Pop usullaridan foydalangan holda biz bo'sh bo'lgan stekning birinchi elementini olishga harakat qilsak, dastur istisno qiladi. Shunga ko'ra, elementni olishdan oldin biz stekdagi elementlar sonini tekshirishimiz mumkin:
agar (odamlar soni > 0)
{
var person = people.Peek();
odamlar.Pop();
}
6.Lug'at to'plami
Lug'atlar boshqa keng tarqalgan to'plam turidir. Lug'at kalit-qiymat juftligini ifodalovchi ob'ektlarni saqlaydi. Lug'at sinfi Dictionary ikki xilda yoziladi: K parametri kalit turini, V parametri esa qiymat turini beradi.
Lug'at yaratish va ishga tushirish
Lug'at sinfi lug'at yaratish uchun bir qancha konstruktorlarni taqdim etadi. Masalan, biz bo'sh lug'at yaratishimiz mumkin:
Dictionary people = new Dictionary();
Bu erda lug'at peopleint qiymatlarini kalit sifatida va satrlarni qiymat sifatida oladi.
Lug'atni belgilashda uni darhol qiymatlar bilan ishga tushirishingiz mumkin:
var people = new Dictionary()
{
{5, "Tom"},
{3, "Sam"},
{11,"Bob"}
};
Initsializatsiya paytida initsializator ishlatiladi - konstruktorni chaqirgandan so'ng jingalak qavslarda ob'ektga dastlabki ma'lumotlar uzatiladi. So'z bo'lsa, biz inisializerga elementlar to'plamini o'tkazishimiz mumkin, bu erda har bir element jingalak qavslar ichiga olinadi, masalan:
{5, "Tom"}
Har bir element ikkita qiymatni ifodalaydi: birinchi qiymat kalitni, ikkinchi qiymat esa elementning o'zini ifodalaydi. Odamlar lug'atini e'lon qilishda kalitlar turdagi intva qiymatlar turdagi bo'lganligi stringsababli, lug'at elementi avval int raqamini, keyin esa qatorni belgilaydi. Ya'ni, yuqoridagi holatda, element 5 kalitiga ega va qiymat "Tom" dir. Keyin elementning kalitidan element qiymatini olishimiz mumkin.
Biz ishga tushirishning boshqa usulidan ham foydalanishimiz mumkin:
var people = new Dictionary()
{
[5] = "Tom",
[6] = "Sam",
[7] = "Bob"
};
Ushbu ishga tushirish usuli bilan kalit kvadrat qavslar ichida ko'rsatiladi va elementning qiymati unga tayinlanadi. Ammo umuman olganda, bu ishga tushirish usuli avvalgisiga teng bo'ladi.
KeyValuePair
Shuni ta'kidlash kerakki, lug'atdagi har bir element KeyValuePair strukturasini ifodalaydi , bu erda TKey parametri kalit turini va TValue parametri elementning qiymat turini ifodalaydi. Ushbu tuzilma mos ravishda lug'atdagi elementning kaliti va qiymatini olish uchun ishlatilishi mumkin bo'lgan Keyva xususiyatlarini beradi. ValueLug'at konstruktorining bir versiyasi KeyValuePair ob'ektlari to'plami bilan lug'atni ishga tushirishga imkon beradi:
var mike = new KeyValuePair(56, "Mayk");
var xodimlar = new List>() { mike};
var people = new Dictionary(xodimlar);
Tur konstruktori KeyValuePairikkita parametrni oladi - element kaliti va uning qiymatlari. Ya'ni, bu holda, bitta shunday element yaratiladi - mikekalit 56 va "Mayk" qiymati bilan. Va bu element xodimlar ro'yxatiga qo'shiladi, keyin esa lug'atni ishga tushiradi.
Siz ishga tushirishning ikkala usulini birlashtira olasiz:
var mike = new KeyValuePair(56, "Mayk");
var xodimlar = new List>() { mike };
var people = new Dictionary(xodimlar)
{
[5] = "Tom",
[6] = "Sam",
[7] = "Bob",
};
Bunday holda, xalq lug'atida to'rtta element bo'ladi.
Do'stlaringiz bilan baham: |