Junior
Java proqramlaşdırma dilində kolleksiyaların həyata keçirilməsi hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
-
İnterfeyslər:
Collection: Bütün kolleksiyalar üçün əsas interfeys.List: Sıralı kolleksiya (indekslərlə).Set: Dublikatlar olmayan kolleksiya.SortedSet: Dublikatlar olmayan kolleksiya, elementləri sıralanmış.Map: Asosiativ massiv (açar-dəyər).SortedMap: Açarlar üzrə sıralanmış asosiativ massiv.Queue: Elementləri işləməzdən əvvəl saxlamaq üçün kolleksiya.Deque: İki tərəfli növbə.
-
Siniflər (əsas tətbiqlər):
-
Listüçün:ArrayList: Dinamik massiv. İndeksə görə sürətli giriş, ortada əlavə və silmə yavaş.LinkedList: İki bağlı siyahı. İndeksə görə yavaş giriş, ortada əlavə və silmə sürətli.Vector: Köhnə, sinxronlaşdırılmış,ArrayList-in ekvivalenti.Stack:Vector-in alt sinfi, yığın (LIFO) tətbiq edir.
-
Setüçün:HashSet: Hash cədvəli əsasında tətbiq. Sıralama təmin etmir.LinkedHashSet: Hash cədvəli və əlaqəli siyahıya əsaslanır. Əlavə etmə sırasını saxlayır.TreeSet: Qırmızı-qaranlıq ağac əsasında. Elementlər artan sıralanır.
-
Mapüçün:HashMap: Hash cədvəli əsasında. Açar-dəyər cütlərinin sırasını təmin etmir.Hashtable: Köhnə, sinxronlaşdırılmış,HashMap-in ekvivalenti.LinkedHashMap: Hash cədvəli və əlaqəli siyahıya əsaslanır. Əlavə etmə sırasını saxlayır.TreeMap: Qırmızı-qaranlıq ağac əsasında. Açarlar üzrə sıralanmış.
-
Queueüçün:PriorityQueue: Prioritetli növbə. Elementlər təbii sıralama və ya müqayisəçi ilə çıxarılır.ArrayDeque: Array əsaslı iki tərəfli növbə.
-
-
Yardımçı alətlər:
Collections: Kolleksiyalar üzərində statik metodlar (sıralama, axtarış, sinxronizasiya və s.).
// ArrayList nümunəsi
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// HashSet nümunəsi
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Dublikat əlavə olunmayacaq
System.out.println(numbers.size()); // 2
// HashMap nümunəsi
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// PriorityQueue nümunəsi
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (ən aşağı prioritet)