Sobes.tech
Junior

Java da qanday kolleksiyalar mavjud?

sobes.tech AI

AIdan javob

Java Collections Framework ko‘plab kolleksiyalarni saqlash va boshqarish uchun ko‘plab kolleksiyalarni taqdim etadi. Asosiy interfeyslar va ularning amalga oshirilishi:

  • Collection: asosiy interfeys.
    • List: tartiblangan kolleksiya, takroriy elementlarga ruxsat beradi.
      • ArrayList: massivga asoslangan, indeks bo‘yicha tez kirish, o‘rtada sekin qo‘shish/ochirish.
      • LinkedList: ikki tomonlama bog‘langan ro‘yxatga asoslangan, tez qo‘shish/ochirish, sekin indeksga kirish.
      • Vector: ArrayList ning thread-safe versiyasi, eskirgan.
      • Stack: Vector ga asoslangan, LIFO tamoyili.
    • Set: noyob elementlar kolleksiyasi, aniq tartibda emas (faqat SortedSet bundan mustasno).
      • HashSet: hash jadvalga asoslangan, tez kirish va qo‘shish/ochirish.
      • LinkedHashSet: qo‘shilish tartibini saqlaydi.
      • TreeSet: elementlarni tartiblangan tartibda saqlaydi.
    • Queue: elementlar kolleksiyasi, odatda FIFO tartibida ishlash uchun.
      • PriorityQueue: elementlar ularning prioritetiga ko‘ra chiqariladi.
      • ArrayDeque: ikki tomonlama navbat.
    • Deque: ikki tomonlama navbat, elementlarni har ikkala tomondan qo‘shish va olib tashlash mumkin.
  • Map: kalit-qiymat juftliklarini saqlaydi, kalitlar noyob.
    • HashMap: hash jadvalga asoslangan, tez kirish.
    • LinkedHashMap: qo‘shilish yoki kirish tartibini saqlaydi.
    • TreeMap: kalitlar bo‘yicha tartiblangan juftliklarni saqlaydi.
    • Hashtable: HashMap ning thread-safe versiyasi, eskirgan.

Thread xavfsiz kolleksiyalar:

  • Collections.synchronized*: mavjud kolleksiyalar uchun o‘ramlar.
  • Concurrent*: java.util.concurrent paketida, ko‘p ipli muhit uchun optimallashtirilgan kolleksiyalar.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Va boshqa kamroq tarqalgan kolleksiyalar.