Assalomu – alaykum blogimning aziz o’quvchilari. Java dasturlash tilida ma’lumot tuzilmalarini o’rganishni ArrayList bilan boshlaymiz. Ushbu maqolada Javada ArrayListning nima ekanligini undan dasturlashda qanday foydalanish kerakligini bilib olasiz.
Java API (application programming interface – ilova dasturlash interfeysi) obyektlat guruhini to’plash uchun ishlatiladigan collections deb ataladigan bir qancha ma’lumot tuzilmalari bilan ta’minlaydi.
Ushbu sinflar ma’lumot qanday to’planish bilimini talab qilmasdan ham ma’lumotlaringizni tashkil etish, saqlash va saqlashning samarali metodlari bilan ta’minlaydi. Bu dasturni ishlab chiqish vaqtini qisqartiradi.
Obyektlar ketma-ketligini saqlash uchun arraylardan (massivlar) foydalanishimiz mumkin. Lekin, Arraylar (massivlar) qo’shimcha elementlarni joylashtirish uchun o’z vaqtida o’z hajmini avtomatik ravishda o’zgartirmaydi. Collection (to’plam) sinfiga oid bo’lgan ArrayList<T> (java.util paketida joylashgan) bu muammoni hal qilish uchun qulay yechimlarni taklif etadi – u ko’proq elementlarni joylashtirish uchun o’z hajmini dinamik ravishda o’zgartira oladi.
DIQQAT E’LON! Java dasturlash tillari bo’yisha video kurs tayyor. Video kurs haqidagi ma’lumotni quyidagi rasm ustiga bosib o’qishingiz mumkin:
Bu yerda “ T “ joy egasi – ya’ni yangi ArrayListni e’lon qilishda, shu ArrayListda saqlashni istagan element turi o’rniga yoziladi. Bu Array (massiv) e’lon qilishga turga aniqlik kiritishga o’xshab ketadi, faqat farq shundaki collections sinflari bilan NONprimitive turlar ishlatilishi mumkin. Masalan:
ArrayList<String> list; faqat String turidagi ma’lumotlarni saqlay oladigan ArrayList kolleksiyasi sifatida “ list “ ni e’lon qiladi.
ArrayList<Integer> son; faqat Integer turidagi ma’lumotlarni saqlay oladigan ArrayList kolleksiyasi sifatida “ son “ ni e’lon qiladi.
Har qanday tur bilan ishlatilishi mumkin bo’lgan bu xildagi joy egalariga ega bo’lgan klasslar (sinflar) generic classlar (sinflar) deb nomlanadi. Generic sinflar to’g’risida keyingi maqolalarda ma’lumot berib boraman.
Quyida ArrayList<T> bilan ishlatiladigan ba’zi odatiy metodlar ro’yxati berilgan.
add() – ArrayListning oxiriga biron bir elementni qo’shib qo’yadi.
clear() – ArrayListdan barcha elementlarni o’chirib yuboradi.
contains() – ArrayList belgilangan elementni o’z ichiga olgan bo’lsa, (True) rostini beradi; Aks holda, (False) noto’g’rini qaytadi.
get() – Belgilangan indeksdagi elementni qaytaradi.
indexOf() – ArrayList-da ko’rsatilgan elementning birinchi marta ro’y beradigan indeksini qaytaradi.
remove() – Ko’rsatilgan qiymatning birinchi ko’rinishini yoki ko’rsatilgan katalogdagi elementni o’chiradi.
size() – ArrayListda saqlangan elementlar sonini qaytaradi.
trimToSize() – ArrayList hajmini joriy elementlarning soniga aylantirish
Quyidagi dastur ArrayListning ba’zi imkoniyatlarini ko’rsatadi. 6- qator yangi String turini qabul qiluvchi ArrayList yaratadi.import java.util.ArrayList;
- import java.util.ArrayList;
- public class Arraylist{
- public static void main( String[] args )
- {
- // ArrayList yaratish
- ArrayList< String > elementlar = new ArrayList< String >();
- elementlar.add( » qizil « ); // ro’yxatga elementni qo’shish
- elementlar.add( 0, » sariq « ); // 0-indeksda qiymatni kiritish
- System.out.print( «Sikl yordamida ro’yxat kontentlarini ko’rsat:»);
- // Listdagi ranglarni ko’rsat
- for ( int i = 0; i < elementlar.size(); i++ )
- System.out.printf( » %s», elementlar.get( i ) );
- // display metodida ranglarni ko’rsatish
- display( elementlar, «\nKuchaytirilgan for sikl operatori orqali ro’yxatni ko’rsatish» );
- elementlar.add( » yashil « ); // yashil ro’yxat oxiriga qo’shish.
- elementlar.add( » sariq « ); // ro’yxat oxiriga sariq rangni qo’shish
- display( elementlar, «Ikkita yangi elementni o’z ichiga olgan ro’yxat:» );
- elementlar.remove( » sariq « ); // birinchi sariq elementni o’chir
- display( elementlar, «Sariqning birinchi namunasini o’chir:» );
- elementlar.remove( 1 ); // indeks soni 1 dagi elementni o’chir
- display( elementlar, «yashil o’chirildi:» );
- // Listda (ro’yxatda) qiymat bor yo’qligini tekshirish
- System.out.printf( «\»qizil\» %s ro’yxatda\n», elementlar.contains( » qizil « ) ? «»: «yo’q « );
- // Listdagi elementlar sonini ko’rsat
- System.out.printf( «O’lchami: %s\n», elementlar.size() );
- } // main metodi tugadi
- // Consoleda ArrayList elementlaini ko’rsatish
- public static void display( ArrayList< String > elementlar, String sarlavha )
- {
- System.out.print( sarlavha ); // sarlavhani ko’rsatish
- // har qaysi elementni ko’rsatish
- for ( String element : elementlar )
- System.out.printf( » %s», element );
- System.out.println();
- } // display metodi tugadi
- }
Natija:
Sikl yordamida ro’yxat kontentlarini ko’rsat: sariq qizil
Kuchaytirilgan for sikl operatori orqali ro’yxatni ko’rsatish sariq qizil
Ikkita yangi elementni o’z ichiga olgan ro’yxat: sariq qizil yashil sariq
Sariqning birinchi namunasini o’chir: qizil yashil sariq
yashil o’chirildi: qizil sariq
«qizil» ro’yxatda
O’lchami: 2
IZOH:
add() metodi ArrayListga elementlarni qo’shadi (7,8 – qator). Bitta argumentga ega bo’lgan add() metodi ArrayList oxiriga o’z elementini qo’shadi (7-qator). Ikkita argumentga ega bo’lgan add() metodi belgilangan joyga yangi elementni kiritadi. Birinchi element indeks soni. Massivlardagi kabi, kolleksiyalar (collections) indeks 0 dan boshlanadi. Ikkinchi argument o’sha indeksga kiritiladigan qiymat.
Barcha keyingi elementlarning ko’rsatkichlari (indeks) birga oshib boradi. Element kiritish odatda ArrayList oxiriga element qo’shishdan sekinroq jarayon bo’ladi.
11,12 – qatorlar ArrayListdagi elementlarni ko’rsatadi. size() metodi ArrayListdagi joriy elementlar sonini qaytaradi. ArrayList metodi get() (12-qator) belgilangan indeksdagi elementni o’z ichiga oladi. 14 – qator display() metodini (28-35 qatorlar) chaqirish orqali yana bir bor elementlarni ko’rsatadi.
15,16 – qatorlar ArrayListga yana ikkita element qo’shadi, keyin 17 – qator kolleksiyaning oxiriga ikkita element qo’shilganini tasdiqlash uchun elementlarni qayta ko’rsatadi.
remove() metodi maxsus qiymatli elementni o’chirish uchun ishlatiladi (18 – qator). U faqat shunday elementning birinchisini o’chiradi. Agar ArrayListda unday qiymat bo’lmasa, remove() metodi hech narsa qilmaydi. Bu metodning boshqa bir versiyasi belgilangan indeksdagi elementni o’chiradi (20 – qator). Biron element o’chirilganda, o’chirilgan elementdan keyingi barcha elementlar ko’rsatkichi birga kamayadi.
23 – qator ArrayListda element bor, yo’qligini tekshirish uchun contains() metodidan foydalanadi. contains() metodi ArrayList ichida element topilsa to’g’ri (true) qaytaradi va aksincha bo’lsa noto’g’ri (false). Bu metod ArrayListning har bir elementi bilan o’zining argumentini taqqoslab (tenglashtirib) ko’radi, shuning uchun katta ArrayListlarda contains() metodidan foydalanish samarasiz bo’lishi mumkin. 25 – qator ArratList o’lchamini ko’rsatadi.
Mana endi siz ham ArrayList nimaligi va u bilan qanday ishlash haqida ma’lumotga egasiz. Agar tushunmagan qismingiz bo’lsa bemalol kommentariyada so’rang!
Va yana Java dasturlash tilining qaysi mavzulariga uncha tushunmasligingiz to’g’risida ham fikr qoldirishingiz mumkin, shunda so’rovingizga ko’ra maqola tayyorlayman.
Keyingi maqolada ko’rishguncha xayr!
Muallif: Oxunjon G’aybullayev.