Masivlar va massivlar roʻyxati oʻrtasidagi farq

Masivlar va massivlar roʻyxati oʻrtasidagi farq
Masivlar va massivlar roʻyxati oʻrtasidagi farq

Video: Masivlar va massivlar roʻyxati oʻrtasidagi farq

Video: Masivlar va massivlar roʻyxati oʻrtasidagi farq
Video: C++ da Massivlar, bir va ko'p o'lchovli massivlar bilan ishlash 2024, Noyabr
Anonim

Masivlar va Arraylistlar

Masivlar elementlar toʻplamini saqlash uchun eng koʻp foydalaniladigan maʼlumotlar strukturasidir. Ko'pgina dasturlash tillari massivlarni osongina e'lon qilish va massivlardagi elementlarga kirish usullarini taqdim etadi. Massivlar ro'yxatini hajmi kattalashishi mumkin bo'lgan dinamik massiv sifatida ko'rish mumkin. Shu sababli dasturchi massivlar roʻyxatini belgilashda uning hajmini bilishi shart emas.

Masivlar nima?

1-rasmda ko'rsatilgan, odatda massivga qiymatlarni e'lon qilish va belgilash uchun ishlatiladigan kod qismidir. 2-rasmda massiv xotirada qanday ko‘rinishi tasvirlangan.

int qiymatlari[5];

qiymatlar[0]=100;

qiymatlar[1]=101;

qiymatlar[2]=102;

qiymatlar[3]=103;

qiymatlar[4]=104;

1-rasm: massivga qiymatlarni e'lon qilish va belgilash kodi

100 101 102 103 104
Indeks: 0 1 2 3 4

2-rasm: Xotirada saqlangan massiv

Yuqoridagi kod 5 ta butun sonni saqlashi mumkin boʻlgan massivni belgilaydi va ularga 0 dan 4 gacha indekslar yordamida kirish mumkin. Massivning muhim xususiyati shundaki, butun massiv bitta xotira bloki sifatida ajratiladi va har bir element oʻz qiymatini oladi. massivda o'z maydoni. Massiv aniqlangandan so'ng uning o'lchami o'rnatiladi. Shunday qilib, kompilyatsiya vaqtida massivning o'lchamiga ishonchingiz komil bo'lmasa, xavfsiz tomonda bo'lish uchun etarlicha katta massivni belgilashingiz kerak bo'ladi. Ammo, ko'pincha, biz ajratganimizdan kamroq elementlardan foydalanamiz. Shunday qilib, xotiraning katta miqdori aslida behuda ketadi. Boshqa tomondan, agar “etarlicha katta massiv” yetarlicha katta boʻlmasa, dastur ishdan chiqadi.

Arraylistlar nima?

Masiv roʻyxatini hajmi kattalashishi mumkin boʻlgan dinamik massiv sifatida koʻrish mumkin. Shuning uchun massiv ro'yxatlari siz e'lon qilish vaqtida talab qilinadigan elementlarning hajmini bilmaydigan vaziyatda foydalanish uchun idealdir. Java-da massiv ro'yxatlari faqat ob'ektlarni ushlab turishi mumkin, ular to'g'ridan-to'g'ri ibtidoiy turlarni ushlab turolmaydi (siz ibtidoiy tiplarni ob'ekt ichiga qo'yishingiz yoki ibtidoiy turlarning o'rash sinflaridan foydalanishingiz mumkin). Odatda massiv ro'yxatlari kiritish, o'chirish va qidirishni amalga oshirish usullari bilan ta'minlangan. Elementga kirishning vaqt murakkabligi o(1), kiritish va oʻchirish esa o(n) ga teng. Java'da massiv ro'yxatlarini foreach tsikllari, iteratorlar yoki oddiygina indekslar yordamida o'tish mumkin.

Masivlar va massivlar oʻrtasidagi farq nima

Garchi massivlar va massivlar roʻyxati bir-biriga oʻxshash boʻlsa-da, ikkalasi ham elementlar toʻplamini saqlash uchun ishlatiladi, lekin ular qanday aniqlangani bilan farqlanadi. Massiv aniqlanganda massivning oʻlchami berilishi kerak, lekin siz haqiqiy oʻlchamni bilmasdan massiv roʻyxatini belgilashingiz mumkin. Massivlar roʻyxati aniqlangandan soʻng unga elementlar qoʻshishingiz mumkin va bu massivlar bilan mumkin emas. Lekin Java-da massiv ro'yxatlari ibtidoiy turlarni saqlay olmaydi, lekin massivlardan ibtidoiy turlarni saqlash uchun foydalanish mumkin. Agar sizga oʻlchamini oʻzgartira oladigan maʼlumotlar tuzilmasi kerak boʻlsa, massiv roʻyxati eng yaxshi tanlov boʻladi.

Tavsiya: