Sobes.tech
Junior

Kādas kolekcijas pastāv Java?

sobes.tech AI

Atbilde no AI

Java Collections Framework nodrošina daudzas kolekcijas datu glabāšanai un pārvaldībai. Galvenās saskarnes un to realizācijas:

  • Collection: galvenā saskarne.
    • List: kārtota kolekcija, kas atbalsta dublikātus.
      • ArrayList: balstīta uz masīvu, ātra piekļuve pēc indeksa, lēna ievietošana/noņemšana vidū.
      • LinkedList: balstīta uz divvirzienu saistītu sarakstu, ātra ievietošana/noņemšana, lēna piekļuve pēc indeksa.
      • Vector: ArrayList šķērsgriezuma drošs analogs, novecojis.
      • Stack: balstīta uz Vector, LIFO princips.
    • Set: unikālu elementu kolekcija, bez noteiktas kārtības (izņemot SortedSet).
      • HashSet: balstīta uz haštabulu, ātra piekļuve un ievietošana/noņemšana.
      • LinkedHashSet: saglabā ievietošanas kārtību.
      • TreeSet: glabā elementus sakārtotā secībā.
    • Queue: elementu kolekcija, bieži izmanto FIFO secībā.
      • PriorityQueue: elementi tiek izvilkti pēc prioritātes.
      • ArrayDeque: divvirzienu rinda.
    • Deque: divvirzienu rinda, kurā var pievienot un noņemt elementus abās pusēs.
  • Map: glabā atslēgas-vertības pārus, atslēgas ir unikālas.
    • HashMap: balstīta uz haštabulu, ātra piekļuve pēc atslēgas.
    • LinkedHashMap: saglabā ievietošanas vai piekļuves kārtību.
    • TreeMap: glabā pārus sakārtotā secībā pēc atslēgām.
    • Hashtable: HashMap sērijas drošs analogs, novecojis.

Draudzīgas sērijas kolekcijas:

  • Collections.synchronized*: aptver esošās kolekcijas.
  • Concurrent*: java.util.concurrent pakotne, kolekcijas ar uzlabotu veiktspēju konkurējošā vidē.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Citas mazāk izplatītas kolekcijas.