Zbiratelj

Iz MaFiRaWiki

GFDL Avtor tega članka je študent/ka PeterBedrač.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.

Zbiratelj ali collection je objekt, oziroma nekakšen prostor, kjer se zbirajo vse potrebne informacije. Tako se bo prostor, širil kolikor bo potrebno, da vanj vstavimo vse naše potrebne objekte. Tako, da nebo potrebno v naprej vedeti, koliko objektov potrebujemo v container-ju. Preprosto naredimo objekt container in pustimo, da "opravlja" svoje delo.


Java vsebuje container v svoji knjižnici. Na voljo imamo, različne vrste container-jev, za različne potrebe. V paketu java.util, najdemo container-je kot so:

  1. BitSet - shranjevanje binarnih vrednosti;
  2. ArrayList in LinkedList - seznama;
  3. HashMap, WeakHashMap in TreeMap - slovar za shranjevanje vrednosti s ključi;
  4. Hashtable - hash tabela;
  5. HashSet in TreeSet - množice;
  6. Vector - razširljiv seznam elementov;
  7. Stack - sklad;
  8. itd...

Dober nabor tovrstnih podatkovnih struktur, najdemo kot razrede, ki implementirajo vmesnika, Collection in Map.

Vsi container-ji imajo svoj način, kako elemente shranjevati in kako jih izbrisati. Primer: pri ArrayList, uporabljamo ukaza, "add" s katerim element shranimo, ter "get" s katerim ga dobimo.

Če želimo razmišljati, v višjem nivoju, imamo "past":

Potrebujemo vedeti, natančno kakšnega tipa je naš container, da ga lahko uporabimo za določeno kodo. To mogoče ne izgleda slabo na začetku, ampak, kaj če se odločimo, da ne bomo uporabljali več ArrayList, ampak LinkedList, ki je bolj efekten. Kaj potem? Zato bi bilo boljše, napisati delček take kode, ki bi jo lahko uporabljal vsak container.

Osebna orodja