Middle
Java'da kolleksiyalar hierarxiyasini tavsiflang.
sobes.tech AI
AIdan javob
Java'da kolleksiyalar hierarxiyasi, obyektlar guruhlarini standart tarzda ifodalash uchun taqdim etilgan interfeyslar to'plamiga asoslangan.
Asosiy interfeyslar:
Collection: hierarxiyaning asosiy interfeysi. Barcha kolleksiyalarda qo'llaniladigan asosiy operatsiyalarni belgilaydi: qo'shish, o'chirish, elementlarning mavjudligini tekshirish, o'lchamini aniqlash.Set: takrorlanmaydigan va elementlarning aniq tartibi bo'lmagan kolleksiya.List: indeks bo'yicha elementlarga kirish imkoniyatiga ega tartiblangan kolleksiya. Takrorlanmalar bo'lishi mumkin.Queue: ishlov berishdan oldin elementlarni saqlash uchun mo'ljallangan kolleksiya. Odatda FIFO (Birinchi kirgan, birinchi chiqadi) qoidasi asosida ishlaydi, ammo boshqa amalga oshirishlar ham mavjud.Deque: ikki tomonlama navbat. Har ikkala uchidan elementlar qo'shish va o'chirishni qo'llab-quvvatlaydi.Map: "kalit-qiymat" juftlarini saqlovchi kolleksiya. Kalitlar unikal bo'lishi kerak.Collectioninterfeysini kengaytirmaydi.
Asosiy amalga oshiruvchi sinflar (misollar):
| Interfeys | Amalga oshiruvchi sinflar (misollar) | Tavsifi |
|---|---|---|
Set |
HashSet, LinkedHashSet, TreeSet |
Takrorlanmaydi. HashSet - tartibsiz, LinkedHashSet - qo'shilish tartibini saqlaydi, TreeSet - tartiblangan. |
List |
ArrayList, LinkedList, Vector |
Tartiblangan. ArrayList - massiv asosida, LinkedList - bog'langan ro'yxat asosida, Vector - sinxronlashtirilgan (eski). |
Queue |
LinkedList, PriorityQueue |
Ishlov berish uchun. LinkedList - FIFO, PriorityQueue - prioritetlarga asoslangan. |
Deque |
ArrayDeque, LinkedList |
Ikki tomonlama navbat. ArrayDeque - massiv asosida, LinkedList - bog'langan ro'yxat asosida. |
Map |
HashMap, LinkedHashMap, TreeMap, Hashtable |
Kalit-qiymat. HashMap - tartib kafolatlanmagan, LinkedHashMap - qo'shilish/erish tartibini saqlaydi, TreeMap - kalitlar bo'yicha tartiblangan, Hashtable - sinxronlashtirilgan (eski). |
ArrayList dan foydalanish misoli:
// Stringlardan iborat ArrayList yaratish
List<String> mevalar = new ArrayList<>();
// Elementlar qo'shish
mevalar.add("Olma");
mevalar.add("Banana");
mevalar.add("Apelsin");
// Indeks bo'yicha kirish
String birinchiMeva = mevalar.get(0); // Olma
// Kolleksiyaning o'lchami
int o'lcham = mevalar.size(); // 3
HashSet dan foydalanish misoli:
// Integer turidagi HashSet yaratish
Set<Integer> sonlar = new HashSet<>();
// Elementlar qo'shish (takrorlanmalar e'tiborga olinmaydi)
sonlar.add(1);
sonlar.add(2);
sonlar.add(2); // E'tiborga olinmaydi
// Kolleksiyaning o'lchami
int o'lcham = sonlar.size(); // 2
HashMap dan foydalanish misoli:
// String kalit va Integer qiymat bilan HashMap yaratish
Map<String, Integer> yoshlar = new HashMap<>();
// Kalit-qiymat juftlarini qo'shish
yoshlar.put("Alice", 30);
yoshlar.put("Bob", 25);
// Kalit bo'yicha qiymatni olish
int AliceYoshi = yoshlar.get("Alice"); // 30
// Kalit mavjudligini tekshirish
boolean mavjudmi = yoshlar.containsKey("Bob"); // true