Mavzu: Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Merosxo’rlik. Polimorfizm. Virtual funksiyalar. Ammallar va usullarni qayta ishlash va qayta aniqlash



Download 451,48 Kb.
Sana02.12.2022
Hajmi451,48 Kb.
#876888
Bog'liq
13-mavzu (Chiziqli konteynerlar va ularni qo\'llash)


Chiziqli konteynerlar va ularni qo'llash

Vektor sinfi oshiriladigan ob'ektlar majmuasini amalga oshiradi. Vektorlar to’plam sinf hisoblanadi. U maxsus sinf hisoblanib, List interfeysini amalga oshiradi, shuning uchun biz quyida ko'rsatilgandek List interfeysining barcha usullaridan foydalanishimiz mumkin:

Vektor sinfi oshiriladigan ob'ektlar majmuasini amalga oshiradi. Vektorlar to’plam sinf hisoblanadi. U maxsus sinf hisoblanib, List interfeysini amalga oshiradi, shuning uchun biz quyida ko'rsatilgandek List interfeysining barcha usullaridan foydalanishimiz mumkin:

Vektor dinamik massivni amalga oshiradi, ya'ni u kerak bo'lganda o'sishi yoki qisqarishi mumkin. Massiv singari, u butun sonli indeks yordamida kirish mumkin bo'lgan komponentlarni o'z ichiga oladi.

  • Vektor dinamik massivni amalga oshiradi, ya'ni u kerak bo'lganda o'sishi yoki qisqarishi mumkin. Massiv singari, u butun sonli indeks yordamida kirish mumkin bo'lgan komponentlarni o'z ichiga oladi.
  • Ular ArrayList ga juda o'xshaydi, lekin Vektor sinxronlashtiriladi va yig'ish ramkasida mavjud bo'lmagan ba'zi eski usullarga ega hisoblanadi.
  • Shuningdek, u ArrayList kabi qo'shish tartibini saqlaydi. U elementlarni qo'shish, qidirish, o'chirish va yangilash va boshqa ko’plab STL sinflar kabi ish faoliyatini ta'minlaydi.
  • E’lon qilish:


Vector v = new Vector ();

Vektor sig'imini oshirish bilan bog'liq muhim nuqtalar quyidagilar:

Vektor sig'imini oshirish bilan bog'liq muhim nuqtalar quyidagilar:

Agar o'sish ko'rsatilgan bo'lsa, Vektor har bir ajratish siklida unga ko'ra kengayadi. Shunga qaramay, agar o'sish ko'rsatilmagan bo'lsa, u holda vektorning sig'imi har bir ajratish siklida ikki barobar ortadi. Vektor uchta himoyalangan ma'lumotlar a'zolarini belgilaydi:

  • int imkoniyatlarini oshirish: o'sish qiymatini o'z ichiga oladi.
  • int elementCount: vektorda saqlangan elementlar soni.
  • Object elementData[]: Vektorni saqlaydigan massiv unda saqlanadi.

Vektorlarni e'lon qilishda keng tarqalgan xatolar quyidagilardir :

Vektorlarni e'lon qilishda keng tarqalgan xatolar quyidagilardir :

  • Belgilangan vektorning InitialSize qiymati salbiy bo'lsa, Vektor IllegalArgumentExceptionni chiqaradi .
  • Belgilangan to'plam null bo'lsa, u NullPointerExceptionni chiqaradi. 
  • Konstruktorlar

  • Vector(): Dastlabki sig'imi 10 bo'lgan standart vektorni yaratadi.
  • Vektor v = new Vektor();

    2. Vector(int size): Dastlabki sig'imi o'lcham bo'yicha ko'rsatilgan vektorni yaratadi.

    Vektor v = new Vektor(int hajmi);

3. Vector(int size, int incr): Dastlabki sig'imi o'lcham va o'sish incr bilan belgilangan vektorni yaratadi. U har safar vektor o'lchamini yuqoriga o'zgartirganda ajratiladigan elementlar sonini belgilaydi.

3. Vector(int size, int incr): Dastlabki sig'imi o'lcham va o'sish incr bilan belgilangan vektorni yaratadi. U har safar vektor o'lchamini yuqoriga o'zgartirganda ajratiladigan elementlar sonini belgilaydi.

Vektor v = new Vektor(int hajmi, int incr);

4. Vektor(c to'plam): c to'plam elementlarini o'z ichiga olgan vektor yaratadi.

Vektor v = yangi Vektor(To'plam c);

Vector sinfining usullari:

  • add()
  • addAll()
  • capacity() - Ushbu vektorning joriy hajmini qaytaradi.
  • Vector.copyInto(Object array[])- Ushbu vektorning komponentlarini belgilangan massivga ko'chiradi.
  • Vector.elementAt(int pos) - pozitsiya bo’yicha elementni olish.
  • get()
  • public void forEach(Consumer action) – vector.forEach((n) -> System.out.println(n));

Vector.insertElementAt(“hello”, 2)

  • Vector.insertElementAt(“hello”, 2)
  • public ListIterator listIterator()-ListIterator listItr = vt.listIterator(); (hasNext(), next())
  • remove()
  • Vector.removeAllElements()

AbstractList

Ushbu sinf tasodifiy kirish ma'lumotlar (masalan, massiv) tomonidan qo'llab-quvvatlanadigan ushbu interfeysni amalga oshirish uchun zarur bo'lgan harakatlarni minimallashtirish uchun ishlatiladi.

O'zgartirilmaydigan ro'yxatni amalga oshirish uchun faqat ushbu AbstractList sinfini kengaytirish va get(int) va size() usullarini qo'llash kerak. O'zgartirilishi mumkin bo'lgan ro'yxatni amalga oshirish uchun, buning uchun qo'shimcha ravishda to'plam (int indeksi, E elementi) usuli bekor qilinadi (aks holda UnsupportedOperationException ni chiqaradi).

AbstractList al = new ArrayList();

  • add();
  • clear();
  • equals();
  • get();
  • lastindexOf();
  • remove(int index);
  • removeRange(int fromIndex, int toIndex);
  • set(int index, E element); //replace element
  • subList​(int fromIndex, int toIndex); // cut element

Download 451,48 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish