Sobes.tech
Junior

Millised kogumikud Java-s eksisteerivad?

sobes.tech AI

Vastus AI-lt

Java Collections Framework pakub palju kogusid andmete salvestamiseks ja haldamiseks. Põhiliidesed ja nende teostused:

  • Collection: põhiliides.
    • List: järjekorras olev kogum, lubab dubleeringuid.
      • ArrayList: põhineb massiivil, kiire juurdepääs indeksiga, aeglane sisestamine/kustutamine keskel.
      • LinkedList: põhineb topeltlingitud nimekirjal, kiire sisestamine/kustutamine, aeglane juurdepääs indeksiga.
      • Vector: ArrayList-i niiskuskindel analoog, vananenud.
      • Stack: põhineb Vector-il, LIFO põhimõte.
    • Set: unikaalsete elementide kogum, ilma kindla järjekorrata (välja arvatud SortedSet).
      • HashSet: põhineb hajemaatril, kiire juurdepääs ja sisestamine/kustutamine.
      • LinkedHashSet: säilitab sisestamise järjekorra.
      • TreeSet: hoiab elemente sorteeritud järjekorras.
    • Queue: elementide kogum, sageli kasutatakse FIFO järjekorras hoidmiseks.
      • PriorityQueue: elemendid tõmmatakse välja nende prioriteedi järgi.
      • ArrayDeque: kahepoolne järjekord.
    • Deque: kahepoolne järjekord, saab lisada ja eemaldada elemente mõlemast otsast.
  • Map: hoiab võtme-väärtuse paare, võtmed on unikaalsed.
    • HashMap: põhineb hajemaatril, kiire juurdepääs võtmega.
    • LinkedHashMap: säilitab sisestamise või juurdepääsu järjekorra.
    • TreeMap: hoiab paare sorteeritud järjekorras võtmete järgi.
    • Hashtable: HashMap-i sarnane, kuid sünkroniseeritud, vananenud.

Sünkroniseeritud kogud:

  • Collections.synchronized*: ümber pakitud olemasolevad kogud.
  • Concurrent*: java.util.concurrent paketis, kogud konkurentsivõimelises keskkonnas parema jõudlusega.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Teised vähem levinud kogud.