Sobes.tech
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)