Mavzu: Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Merosxo’rlik. Polimorfizm. Virtual funksiyalar. Ammallar va usullarni qayta ishlash va qayta aniqlash
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 super E> 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