To’plamlar (Collections) — massivning cheklovlarini bartaraf etadigan kuchli ma’lumot tuzilmalari. Massiv hajmi o’zgarmas edi; to’plamlar esa dinamik — element qo’shish, o’chirish, izlash osonlashadi. Java Collections Framework — professional dasturchining kundalik quroli.
Collections Framework — Java standart kutubxonasidagi dinamik ma’lumot tuzilmalari to’plami:
List,Set,Map,Queueva boshqalar. Ular massivdan farqli o’laroq, hajmini avtomatik boshqaradi.
Massiv va to’plam farqi
Nega to’plamlar kerakligini jadvalda ko’ramiz:
| Xususiyat | Massiv | Collection |
|---|---|---|
| Hajmi | qat’iy | dinamik |
| Element qo’shish | qo’lda boshqariladi | add() metodi |
| Tayyor metodlar | kam | ko’p (izlash, saralash) |
| Turlari | bitta | List, Set, Map va h.k. |
To’plamlar ierarxiyasi
Collections Framework asosan uch katta oiladan iborat. Har biri o’z vazifasiga ega:
- List — tartiblangan, takrorga ruxsat beruvchi ro’yxat (
ArrayList,LinkedList). - Set — takrorlanmas to’plam (
HashSet,TreeSet). - Map — kalit-qiymat juftliklari (
HashMap,TreeMap).
Bularning har birini keyingi darslarda alohida chuqur o’rganamiz. Hozir umumiy tasavvur hosil qilamiz.
Birinchi to’plam: ArrayList
Eng ko’p ishlatiladigan to’plam — ArrayList. U dinamik massiv kabi ishlaydi:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> mahsulotlar = new ArrayList<>();
mahsulotlar.add("telefon");
mahsulotlar.add("noutbuk");
mahsulotlar.add("smart soat");
System.out.println(mahsulotlar);
System.out.println("Soni: " + mahsulotlar.size());
System.out.println("Birinchi: " + mahsulotlar.get(0));
}
}
[telefon, noutbuk, smart soat]
Soni: 3
Birinchi: telefon
Diqqat ikki narsaga: to’plamlar import java.util... bilan ulanadi, va <String> — bu to’plam qaysi turdagi elementlarni saqlashini bildiradi (generic).
Generic — tur xavfsizligi
<String> yozuvi generic deb ataladi. U to’plamga faqat belgilangan turdagi element qo’shishga ruxsat beradi va xatolarning oldini oladi:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> sonlar = new ArrayList<>();
sonlar.add(10);
sonlar.add(20);
// sonlar.add("matn"); // XATO: faqat Integer
System.out.println(sonlar);
}
}
[10, 20]
<Integer> bilan to’plam faqat butun sonlarni qabul qiladi. Bu qat’iy tur nazorati Java’ning ishonchliligini oshiradi. Primitiv turlar (int) o’rniga ularning “o’ram” versiyalari (Integer) ishlatiladi.
Xulosa
Bu bo’limda Collections Framework tushunchasini, uning massivdan afzalligini, uch asosiy oilani (List, Set, Map) va ArrayList bilan generic tur nazoratini ko’rib chiqdik. To’plamlar — dinamik ma’lumot bilan ishlashning zamonaviy usuli. Keyingi darsda ArrayList va LinkedList ni chuqurroq o’rganamiz.