Sobes.tech
Junior

Java-da hansı kolleksiyalar mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, Java Collections Framework-ə daxil olan aşağıdakı əsas kolleksiya interfeysləri mövcuddur:

  • Collection: Ümumi əməliyyatları təyin edən əsas interfeysdir. Onun alt-interfeysləri var:

    • List: Təşkil olunmuş kolleksiya (sıra). Elementlər təkrarlana bilər. İndeksə görə giriş dəstəklənir.
      • ArrayList: Dinamik massiv. Tez indekslə giriş və sona əlavə üçün yaxşıdır. Ortada əlavə/silmek yavaş.
      • LinkedList: İki tərəfli bağlı siyahı. Başlama və ya sona əlavə/silmek üçün yaxşıdır. İndeksə görə giriş yavaş.
      • Vector: ArrayList-in sinxronlaşdırılmış versiyası. Köhnə sayılır.
      • Stack: Vector-dən irs alır, yığın (LIFO) davranışını həyata keçirir.
    • Set: Yalnız unikal elementləri saxlayan kolleksiya. Sıralama təmin edilmir.
      • HashSet: Hash cədvəli ilə həyata keçirilir. Ən sürətli əlavə, silmə və yoxlama üçün. Sıralama təmin edilmir.
      • LinkedHashSet: Hash cədvəli + bağlı siyahı kimi həyata keçirilir. Əlavə sırasını təmin edir.
      • TreeSet: Qırmızı-qaranlıq ağac ilə həyata keçirilir. Elementləri sıralı şəkildə saxlayır. HashSet-dən yavaş, amma LinkedHashSet-dən daha sürətli axtarış üçün.
    • Queue: İşlənməzdən əvvəl elementləri saxlamaq üçün nəzərdə tutulmuş kolleksiya (FIFO - First-In, First-Out).
      • PriorityQueue: Elementlər təbii sıralarına və ya müqayisəçiyə görə saxlanır. Ən yüksək prioritetli element çıxarılır.
      • Deque: (Double Ended Queue) Hər iki ucundan əlavə və silmə dəstəkləyir.
        • ArrayDeque: Array əsaslı Deque tətbiqi. LinkedList-dən daha səmərəlidir.
  • Map: Açar-dəyər cütlərini saxlayan kolleksiya. Açarlar unikal.

    • HashMap: Hash cədvəli ilə həyata keçirilir. Ən sürətli əlavə, silmə və yoxlama üçün. Açarların sırasını təmin etmir.
    • LinkedHashMap: Hash cədvəli + bağlı siyahı kimi həyata keçirilir. Əlavə və ya giriş sırasını təmin edir.
    • TreeMap: Qırmızı-qaranlıq ağac ilə həyata keçirilir. Açarlar üzrə sıralanmış açar-dəyər cütlərini saxlayır. HashMap-dən yavaş, amma LinkedHashMap-dən daha sürətli axtarış üçün.
    • HashTable: HashMap-in sinxronlaşdırılmış versiyası. Köhnə sayılır.

Həmçinin, köhnə siniflər mövcuddur ki, onlar JCF-ə daxil deyil, amma bəzən rast gəlinir:

  • Vector
  • Stack
  • Hashtable
  • Enumeration (interfeys)