• 1. Kolleksiyalar haqida qisqacha malumot.
  • Mavzu: Kolleksiya va iteratorlar. Reja




    Download 211,19 Kb.
    Pdf ko'rish
    bet1/2
    Sana20.05.2024
    Hajmi211,19 Kb.
    #246141
      1   2
    Bog'liq
    19. Kolleksiya va iteratorlar



    Mavzu:
    Kolleksiya va iteratorlar. 
    Reja: 
    1.
    Kolleksiyalar haqida qisqacha ma'lumot. 
    2.
    Umumlashmagan kolleksiyalar. 
    3.
    Umumlashmagan kolleksiyalarning interfeyslari. 
    1. Kolleksiyalar
    haqida qisqacha ma'lumot. 
    Kolleksiyalarning asosiy afzalligi shundaki, ular dasturdagi ob'ektlar 
    guruhlarini qayta ishlashni standartlashtiradilar. Barcha kolleksiyalar aniq 
    belgilangan interfeyslar kolleksiyai asosida yaratilgan. ArrayList, Hashtable, Stack 
    va Queue kabi interfeyslarning ba'zi ichki amalga oshirilishidan ularning 
    nusxalarida qanday o'zgarishsiz qo'llanilishi mumkin. Bunga ehtiyoj juda kam 
    bo'lsa-da, o'z kolleksiyangizni amalga oshirish imkoniyati ham mavjud. 
    .NET Framework muhitida beshta kolleksiya turini qo'llab-quvvatlaydi: 
    umumlashmagan, maxsus, shaffof tashkillashtirilgan, umumlashgan va parallel.
    umumlashmagan kolleksiyalar bir qator asosiy ma'lumotlar tuzilmalarini amalga 
    oshiradi, jumladan, dinamik massiv, stack, navbat, shuningdek, "kalit-qiymat" 
    juftlarini saqlash mumkin bo'lgan 
    lug'atlar
    . umumlashmagan kolleksiyalarga 
    nisbatan quyidagilarni yodda tutish muhimdir: ular object tipidagi ma'lumotlar 
    bilan ishlaydi. 
    Shunday qilib, umumlashmagan kolleksiyalar har qanday ma'lumotni 
    saqlashga xizmat qilishi mumkin va bir kolleksiyada turli xil ma'lumotlarni 
    saqlashga ruxsat beriladi. Shubhasiz, bunday kolleksiyalar tiplashtirilmagan, 
    chunki ular ob'ekt kabi ma'lumotlarga havolalar saqlaydi. Umumlashmagan 
    kolleksiyalarning sinflari va interfeyslari System.Collections nomlar fazosida 
    joylashgan. 
    Maxsus kolleksiyalar muayyan turdagi ma'lumotlar bilan ishlaydi yoki uni 
    maxsus tarzda amalga oshiradi. Misol uchun, belgili qatorlar uchun maxsus 
    kolleksiyalar, shuningdek, bir tomonlama ro'yxat uchun ishlatiladigan maxsus 
    kolleksiyalar mavjud.
    Maxsus kolleksiyalardan foydalanish uchun 
    SystemCollectionsSpecialized nomlar fazosi e'lon qilinadi. 
    Collections API-ning amaliy interfeysida shaffof tashkillashtirilgan 
    kolleksiya aniqlangan - bu BitArray. Kolleksiya tipi BitArray ikkilik 
    operatsiyalarini qo'llab-quvvatlaydi, ya'ni alohida ikkilik oqimlar bo'yicha 
    operatsiyalarni bajaradi, masalan, VA istisno YOKI, shuning uchun u boshqa 
    kolleksiyalardan sezilarli darajada farq qiladi. BitArray kolleksiyalardan 
    foydalanish uchun System.Collections nomlar fazosi e'lon qilinadi. 


    Umumlashgan kolleksiyalar bir nechta standart ma'lumotlar tuzilmalarini
    jumladan, bog'langan ro'yxatlar, stack, navbatlar va lug'atlarni umumlashtiradi. 
    Bunday kolleksiyalar ularning umumlashgan tabiati tufayli tiplashtirilgan 
    hisoblanadi. Bu shuni anglatadiki, umumlashgan kolleksiyada faqat ushbu 
    kolleksiya bilan mos keladigan ma'lumot tiplari elementlari saqlanishi mumkin. 
    Shu sababli, tiplarning tasodifiy mos kelmasligi chiqarib tashlanadi. Umumlashgan 
    kolleksiyalardan foydalanish uchun System.Collections.Generic nomlar fazosi 
    e'lon qilinadi. 
    Parallel kolleksiyalar kolleksiyaga ko'p tarmoqli kirishni qo'llab-quvvatlaydi. 
    Bu umumlashgan kolleksiya hisoblanadi, undan foydalanish uchun 
    System.Collections.Concurrent nomlar fazosi e'lon qilinadi. 
    System.Collections.ObjectModel nomlar fazosida joylashgan sinflar 
    foydalanuvchilarni o`zlari uchun kolleksiyalar yaratishlarini qo`llab-quvvatlaydi. 
    Barcha kollektsiyalar uchun asosiy ob`ktlar IEnumerator va IEnumerable 
    interfeyslari, shuningdek, IEnumerator va IEnumerableumumlashgan 
    interfeyslarida qo'llab-quvvatlanadigan ro`yxatlar vositasi tushunchasi. Ro'yxatchi 
    kolleksiya elementlariga muqobil ravishda kirishning standart usulini ta'minlaydi. 
    Shuning uchun, u kolleksiyaning mazmunini ro`yxatda saqlanadi. Har bir 
    kolleksiya IEnumerable interfeysining umumlashgan yoki oshkor qilinmagan 
    shaklini amalga oshirishi kerak, shuning uchun har qanday kolleksiya sinfining 
    elementlari IEnumerator yoki IEnumerator interfeysida aniqlangan usullar 
    orqali mavjud bo'lishi kerak. Bu shuni anglatadiki, bir turdagi kolleksiyaga davriy 
    aylanish kodiga minimal o'zgarishlar kiritish orqali turdagi kolleksiyaga o'xshash 
    murojaat uchun ishlatilishi mumkin. Qizig'i shundaki, foreach tsiklidagi kolleksiya 
    tarkibiga muqobil ravishda murojaat qilish uchun ro'yxat ishlatiladi. 
    Iterator deb ataladigan boshqa vosita ro`yxat bilan bevosita bog'liq. Ushbu 
    vosita kolleksiyalar sinflarini yaratish jarayonini soddalashtiradi, masalan, foreach 
    tsiklida tashkil etilgan maxsus muqobil murojaat usuli. Iteratorlar ham ushbu 
    bobda muhokama qilinadi. 

    Download 211,19 Kb.
      1   2




    Download 211,19 Kb.
    Pdf ko'rish