1. Massiv — bu elementlar konteyneri
Ehtimol siz eshitgandirsiz, kompyuterlar katta hajmdagi ma'lumotlarni qayta ishlay oladi. Shartli operator (if-else) va sikllar (for, while) albatta bunda yordam beradi. Lekin, ma'lumotlarni saqlash ham kerak bo'ladi.
Bu holatda Java, va deyarli barcha dasturlash tillarida, massivlar (Array) deb ataladigan ajoyib narsa mavjud. Ularni hali ham tablitsalar deb nomlashadi.
Massiv — bu maxsus obyekt bo'lib, unda bitta emas, bir nechta qiymatni saqlash mumkin.

Agar oldinroq biz o'zgaruvchini quticha bilan solishtirgan bo'lsak (unda qandaydir qiymat saqlash mumkin), massiv – bu ichida bo'limlarga bo'lingan quti. Har bir bo'limning "quti-massivi"da o'z raqami bor. Raqamlar, albatta, nol bilan boshlanadi...
Yoki yana bir o'xshatish o'tkazish mumkin. Oddiy uy va ko'p qavatli uylarni solishtiramiz. Oddiy uyda bir oila yashaydi, ko'p qavatli uy esa kvartiralarga bo'lingan. Oddiy uyda yashayotgan oilaga xat yozish uchun uning manzilini ko'rsatish kerak. Kvartirada yashayotgan oilaga xat yozish uchun esa uy manzili va yana kvartira raqami ko'rsatiladi.
Demak, o'zgaruvchi-massiv – bu o'zgaruvchi-ko'p qavatli uy. Unda bitta emas, bir nechta qiymatlarni saqlash mumkin. Bunday o'zgaruvchida bir nechta kvartira (xona) bor, ulardan har biriga uning raqami (indeksi) yordamida murojaat qilish mumkin.
Buning uchun o'zgaruvchi nomidan keyin kvadrat qavslar ichida murojaat qilmoqchi bo'lgan xonaning indeksini ko'rsatish kerak. Bu juda oddiy:
array[индекс] = значение;
Bu yerda аrray – bu o'zgaruvchi-massiv nomi, индекс – massivdagi hujayra raqami va значение – biz kiritmoqchi bo'lgan qiymat.
Lekin, keling birinchi navbatda massivlarni qanday yaratishni ko'rib chiqaylik.
2. Java da massiv elementlarini yaratish

Tasavvur qiling, sizning dasturingizda 100 butun sonni saqlash kerak. Hech ehtimol, bu uchun massiv kerak bo'lar. Uni qanday yaratish mumkin?
Agar biz bitta butun sonni saqlamoqchi bo'lsak, int turi mos kelar edi, lekin agar biz 100 butun son saqlamoqchi bo'lsak, ehtimol, bizga massiv turi int kerak bo'ladi. Mana uning yaratish kodi:
int[] array = new int[100];
Keling, nima yozilganini tushunib chiqaylik.
Siz allaqachon taxmin qilganingizdek, teng belgisi chap tomonda bizda array nomli o'zgaruvchining e'lon qilinishi va turi int[] turida. int turidan keyin kvadrat qavslar keladi, bu turdagi "qutichalarda" bitta emas, bir nechta qiymatni saqlash mumkinligini ko'rsatadi.
Teng belgisi o'ng tomonidan esa "obyekt yaratish" (so'z new) yozilgan bo'lib, 100 int tipidagi elementlar (xona) yaratiladi. Juda qiyin emas.
Agar biz, misol uchun, 20 hujaykadan iborat (double) real sonlarni saqlash uchun massiv yaratmoqchi bo'lsak, uni yaratish kodi taxminan bunday bo'ladi:
double[] vals = new double[20];
Massivdagi hujayralar soni massiv o'lchami yoki massiv uzunligi deb ataladi. Ko'p qiymatlar saqlash xususiyati tufayli massivlarni konteynerlar deb ham atashadi.
Muammo fakt: massiv konteynerining o'lchamini yaratishdan keyin o'zgartirish mumkin emas.
Yangi yaratish mumkin, lekin allaqachon yaratilgan konteynerning uzunligini o'zgartirish mumkin emas.
3. Massiv hujayralari bilan ishlash

Yaxshi, massivlar yaratishni o'rgandik, endi ular bilan qanday ishlashni bilish kerakmi?
Odatdagi o'zgaruvchilar bilan ishlagandek, faqat o'zgaruvchi-massiv nomidan keyin, biz ishlayotgan hujayra raqamini ko'rsatish kerak.
Massiv hujayralari raqamlari har doim nol bilan boshlanadi. Agar bizda 10 elementdan iborat massiv bo'lsa, uning hujayralari raqamlari (indekslar) 0..9, agar massiv 200 elementdan iborat bo'lsa, unda 0..199. Va h.k.
Misollar:
| Kod | Tushuntirish |
|---|---|
|
int turidagi 10 elementdan iborat massiv yaratamiz.2 indeksli hujayraga 4 qiymatini yozamiz.7 indeksli hujayraga 9 qiymatini yozamiz.9 indeksli hujayraga 2 (unda 4 saqlangan) va 5 (unda 0 saqlangan) hujayralaridagi qiymatlarni qo'shib yozamiz. |
Ushbu kod bajarilgandan so'ng xotirada quyidagi ma'lumotlar saqlanadi:

Chap tomondagi ustun (kul rangda) – bu hujayralarning raqamlari (indekslar). Hujayralarda kiritilgan qiymatlar saqlanadi: 4, 9 va 4. Massiv hujayralar yaratilgandan so'ng darhol nol bilan to'ldiriladi.
Muqim. Barcha massiv hujayralari bir xil ma'lumot turga ega bo'ladi. Agar biz String satrlar uchun massiv yaratsak, uning hujayralarida faqat satrlar saqlanishi mumkin. Massiv ma'lumot turi uning yaratilishida belgilanadi. Keyinchalik na ma'lumot turi, na massiv uzunligi o'zgartirilishi mumkin.
GO TO FULL VERSION