Algoritmlash xossalari!Har bir xossa uchun alohida alohida misollar bilan tushuntirilsin!


ArrayList va LinkedList haqida ma’lumot berilsin!


Download 43.57 Kb.
bet31/33
Sana22.06.2023
Hajmi43.57 Kb.
#1650558
1   ...   25   26   27   28   29   30   31   32   33
Bog'liq
algoritm javoblar

ArrayList va LinkedList haqida ma’lumot berilsin!
ArrayList va LinkedList ikkala siyosatlar qatorida tanlanadigan ro‘yxat ma'lumotlarni saqlash uchun ishlatiluvchi sinflardir. Ularning asosiy farqi, ro‘yxatni saqlash usuli.
ArrayList sinfi, ro‘yxatni massiv yoki orqa to‘plam shaklida saqlaydi. Demak, ro‘yxat elementlarni tekin-tekin saqlamaydi, balki unda ro‘yxat o‘zining ayrim maydonlarida tegishli elementlarni saqlash uchun o‘rin ajratiladi. Bu ko‘rsatkichdan foydalanib, shu sinf ichidagi har xil elementlarga yaqin muddatli kirish vaqti organizatsiyalashadi. Shunday qilib, agar lista ichidan konkretni elementni o‘zlashtirish zarur bo‘lsa, bu amal tez vaqt talab qilmaydi. Lekin, ArrayList ning bu to‘g‘ri keladigan tariqasi uchinchi to‘plam elementlarni o‘z ichiga olish va ro‘yxatni kengaytirish imkoniyatini kamaytiradi.
LinkedList esa, ro‘yxatni bog‘langan ro‘yxat shaklida saqlaydi. Bu degani, har bir element erda o‘ziga o‘xshash joyning mavjudligini anglatadi va uni tashlab ketish orqali ayrim holatlarda elementlarga tez murojaat qilish mumkin. Lekin, uni ichidan bitta element o‘zini o‘zgartirishda ro‘yxatdagi boshqa elementlarni tashqari o‘zgartirish zarur bo‘la oladi. Shunday qilib, LinkedList bu turi ro‘yxatlar o‘z lashtirishga qodir bo‘lib, lekin katta ma’lumotlar ro‘yxatlari uchun tez amalga oshirish asosida ArrayList dan kamroq darajada samarali emas.
Ya’ni, siz ro‘yxatda turli xil elementlarga hujjatni yanada tez aniqlash va ro‘yxatni qanday turda kengaytiringizga qarab tanlov qilishingiz kerak.


Java dasturlash tilida Lambda!ForEach operatorlari
Lambda operatori va forEach sinfi, Java progamming tili davomida qulaylik bilan ishlatiluvchi funksiyalar to‘plamlaridir.
Lambda operatori, funksiyalarning o‘rtasida to‘xtamaydigan funksiyalar yaratish uchun ishlatiladi. Bu operator, qisqa va chuqurlik sifatida yozilgan va bir nechta qator o‘z ichiga olgan kodlar ko‘rsatib beradi. Lambda operatori, ko‘p marta qayta-qayta ishlatilmaydigan funksiyalar uchun yordam beradi va koddagi ko‘plab qatorlarni kamaytiradi.
forEach() esa, Java 8 va undan keyingi versiyalarida qo‘shilgan bir boshqa sinfdir. Bu sinf ro‘yxatlar va o‘zaro bog‘liq qator ma’lumotlar kabi turli xil masalalar bilan ishlash uchun yaratilgan.
forEach(), ro‘yxatni qavs ichida aylanish bilan elementlarni o‘qib chiqadi va barchasini tekshirib chiqadi. Buning natijasida ro‘yxat elementlariga mos qilish uchun xohlagan vazifalarni amalga oshirishingiz mumkin.
Bu masalaning bir namunasi quyidagi hamda ko‘rsatilgan:
ArrayList sonlar = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
sonlar.forEach((n) -> {
System.out.println(n);
});
Bu kodda ro‘yxatda saqlangan sonlarni forEach() operatori orqali naqshlarini konsolga chiqaradi. Lambda operatori orqali yaratilgan funksiya sonni o‘qib chiqishi bilan shug‘ullanadi.
Bu sinf va operatorlar, koddagi ro‘yxatdan ma’lumotlar o‘qib, ularni tekshirish va ushbu ma’lumotlarga oid boshqa vazifalarni amalga oshirishda osonlik va qulaylik yaratadi.


Download 43.57 Kb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   33




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