Kollektsiyalar Kollektsiyaga kiritish
Umumiy bo‘lmagan kollektsiyalar
Download 25.07 Kb.
|
Kollektsiyalar
Umumiy bo‘lmagan kollektsiyalar
Umumlashtirilmagan yoki oddiy kolleksiyalar System.Collections nomlar maydonida aniqlangan. Ularning xususiyati shundan iborat: ularning faoliyati, funktsional imkoniyatlari ushbu nomlar fazosi bo‘lgan interfeyslarda tasvirlanadi. Asosiy interfeyslarni ko‘rib chiqamiz: Umumlashtirilmagan yoki oddiy kolleksiyalar System.Collections nomlar fazosida aniqlangan. Ularning xususiyati shundan iborat: ularning funktsionalligi, funktsional imkoniyatlari ushbu nomlar fazosida bo‘lgan interfeyslarda tasvirlanadi. Asosiy interfeyslarni ko‘rib chiqamiz: IEnumerable: GetEnumerator usulini belgilaydi. Ushbu usul ro‘yxatdan o‘tkazuvchini, ya’ni IEnumerator interfeysini amalga oshiradigan ayrim ob’ektni qaytaradi. IEnumerator: ushbu interfeysni amalga oshirish kollektsiya elementlarini foreach tsikli yordamida tanlash imkonini beradi ICollection: barcha umumlashtirilmagan kolleksiyalar uchun asos hisoblanadi, barcha umumlashtirilmagan kolleksiyalar uchun asosiy usullar va xususiyatlarni belgilaydi (masalan, CopyTo usuli va Count xususiyati). Mazkur interfeys IEnumerable interfeysidan meros bo‘lib, ular uchun bazaviy interfeys ham umumiy bo‘lmagan kollektsiyalarning barcha sinflari tomonidan amalga oshiriladi ILISt: kollektsiya elementlarini tartibga ko‘ra olish imkonini beradi. Shuningdek, elementlarni manipulyatsiya qilish uchun bir qator usullarni belgilaydi: Add (elementlarni qoʻshish), Remove/RemoveAt (elementni olib tashlash) va boshqa. IComparer: ikki ob’ektni solishish uchun int Compare(object x, object y) usulini belgilaydi IDictionary: ob’ektlarni kalit-qiymati jo‘natish ko‘rinishida saqlash kerak bo‘lgan kollektsiyaning harakatini aniqlaydi: har bir ob’ekt uchun noyob kalit aniqlanadi va ushbu kalitga mos keladi IDictionaryEnumerator: loyihani ro‘yxatdan o‘tkazuvchi usul va xossalarni belgilaydi IEqualityComparer: ikkita Equals va GetHashCode usullarini belgilaydi, ular yordamida ikkita ob’ektlar tenglik predmetiga solishtiriladi IStructuralComparer: ikki ob’ektni strukturaviy solishtirish uchun Compare usulini belgilaydi: shunday solishtirishda ob’ektlarga havola emas, balki ob’ektlarning bevosita tarkibi solishadi IStructuralEquatable: ikki ob’ektning strukturaviy tengligini o‘tkazish imkonini beradi. IStructuralComparer interfeysi bilan ikki ob’ektning tarkibi solishtiriladi Ushbu interfeyslar System.Collections nomlar fazosidagi quyidagi kollektsiyalar sinflari bilan amalga oshiriladi: ArrayList: oddiy ob’ektlar kollektsiyasi sinfi. IList, ICollection, IEnumerable interfeyslarini amalga oshiradi BitArray: bitlar qiymatlari massivini o‘z ichiga olgan kollektsiya sinfi. ICollection, IEnumerable interfeyslarini amalga oshiradi Hashtable: hesh-jadvalni taqdim etadigan va “kalit-qiymati ” juft to‘plamlarini saqlaydigan kollektsiya sinfi Queue: FIFO algoritmi bo‘yicha faoliyat ko‘rsatayotgan ob’ektlar navbatining sinfi («birinchi kirgang‘ birinchi chiqadi»). ICollection, IEnumerable interfeyslarini amalga oshiradi SortedList: kalit bo‘yicha sortlangan «kalit-qiymati» juft to‘plamlarini saqlaydigan kollektsiya sinfi. ICollection, IDictionary, IEnumerable interfeyslarini amalga oshiradi Stek: yig‘ish klassi Ushbu kollektsiyalarning ayrim sinflarini ko‘rib chiqamiz. Garchi C # tilida bitta turdagi ob’ektlar to‘plamini saqlaydigan massivlar mavjud bo‘lsa ham, ular bilan ishlash har doim ham qulay emas. Masalan, massiv fiksirlangan sondagi ob’ektlarni saqlaydi, lekin biz qancha ob’ektlarni zarur bo‘lishini bilmasligimiz ham mumkin. Bunda kollektsiyalarni qo‘llash qulay. Kollektsiyalarning yana bir qo‘shimchasi shundan iborat, ularning ayrimlari ma’lumotlarning standartli tuzilmalarini amalga oshiradi, masalan, turli maxsus vazifalarni hal etish uchun foydalanilishi mumkin bo‘lgan stek, navbat, loyiha. Kolleksiyalar sinflarining aksariyati System.Collections, System.Collections.Generic va System.Collections.Specialized (maxsus kolleksiyalar sinflari) nomlari makonlarida mavjud. Shuningdek, vazifalarni parallel bajarish va ko‘p oqimli murojaatni foydalanishni ta’minlash uchun System.Collections.Concurrent nomlar fazosidagi kollektsiyalar sinflari qo‘llaniladi Download 25.07 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling