Sobes.tech
Junior

Javaда кайсы коллекциялар бар?

sobes.tech AI

AIден жооп

Javaда төмөнкү негизги топтом интерфейстер бар, алар Java Collections Frameworkке кирет:

  • Collection: Жалпы операцияларды аныктаган негизги интерфейс. Анын мурас катары төмөнкү интерфейстер келет:

    • List: Тартиптелген топтом (сериал). Элементтер кайталанышы мүмкүн. Индекс боюнча жетүү колдоо кылынат.
      • ArrayList: Өзгөрмө массив. Жылдам жетүү жана акыркыга кошуу үчүн жакшы. Ортоңкуга кошуу/жок кылуу жайыраак.
      • LinkedList: Ике багыттуу байланышкан тизмек. Башта же акырында кошуу/жок кылуу жакшы. Индекс боюнча жетүү жайыраак.
      • Vector: ArrayListтин синхрондоштурулган версиясы. Эскирген деп эсептелет.
      • Stack: Vectorтен мурас алып, стек (LIFO) жүрүм-турумун ишке ашырат.
    • Set: Уникалдуу элементтерди камтыган топтом. Тартибине кепилдик бербейт.
      • HashSet: Хэш-таблица аркылуу ишке ашырылат. Кошуу, жок кылуу жана бар экенин текшерүүдө эң тез. Тартибине кепилдик бербейт.
      • LinkedHashSet: Хэш-таблица + байланышкан тизмек катары ишке ашырылат. Кошуу тартибин кепилдик берет.
      • TreeSet: Кызыл-кара дарак аркылуу ишке ашырылат. Элементтерди сортталган тартипте сактайт. HashSetке караганда жайыраак, бирок диапазон издөөдө тезирээк.
    • Queue: Объекттерди сактоого арналган топтом, алдын ала иштетүү үчүн (FIFO - биринчи кирген, биринчи чыгат).
      • PriorityQueue: Элементтер өзүнүн табигый тартиби же салыштыргыч аркылуу сакталат. Жогорку приоритеттеги элемент алынады.
      • Deque: (Эки жактуу кезек) Эки тараптан кошуу жана жок кылуу колдоо кылынат.
        • ArrayDeque: Массивке негизделген Deque ишке ашыруу. LinkedListке караганда натыйжалуу.
  • Map: Ключ-баа жуптарын сактайт. Ключтер уникалдуу.

    • HashMap: Хэш-таблица аркылуу ишке ашырылат. Кошуу, жок кылуу жана бар экенин текшерүүдө эң тез. Ключтөрдүн тартибин кепилдик бербейт.
    • LinkedHashMap: Хэш-таблица + байланышкан тизмек. Кошуу же жетүү тартибин кепилдик берет.
    • TreeMap: Кызыл-кара дарак аркылуу ишке ашырылат. Ключтер боюнча сортталган. HashMapке караганда жайыраак.
    • HashTable: HashMapтин синхрондоштурулган версиясы. Эскирген деп эсептелет.

Ошондой эле, эскирген класстар бар, алар JCFке кирбейт, бирок кээде колдонулат:

  • Vector
  • Stack
  • Hashtable
  • Enumeration (интерфейс)