Kolekcija (programiranje)
<s>U informatici, kolekcija je klasa, struktura podataka, ili apstraktni tip podataka (ADT) čije su instance kolekcije drugih objekata.</s><s>Drugim rečima, oni čuvaju objekte na oragnizovan način koji prati specifična pristupna pravila.</s><s>Veličina kolekcije zavisi od broja objekata (elementa) koje sadrži.</s><s>Osnovna primena različitih tipova kolekcija može varirati u kompleksnoti prostora i vremena, koja pruža fleksiblinost pri biranju tačne implementacije za dati scenario.</s>

<s>Pregled 
Na kolekcije se može gledati na tri načina:
 pristup, to je način pristupu objekta kolekcije.</s><s>U slučaju nizova, pristip se izvršava sa indeksom niza.</s><s>U slučaju stekova, pristup se izvršava prema LIFO(poslednji unutra, prvi spolja) redosledu (alternativno ime: FILO, prvi unutra, poslednji spolja) i u slučaju redova izvršava se prema FIFO(prvi unutra, prvi spolja) redosledu (alternativno ime: LILO, poslednji unutra, poslednji spolja);FIFO(investopedia.com)</ref>
 skladištenje, način skladištenja objekata kolekcije,
 prelaženje, to je način prelaženja objekata kolekcije.</s>

<s>Za kolekcije klasa se očekuje da implementuju metode da rade sledeće:
 napraviti praznu kolekciju;
 ubaciti objekte u kolekciju;
 izbrisati objekte iz kolekcije;
 izbrisati sve objekte u kolekciji (očisti);
 pristupiti objektima u kolekciji;
 pristupiti određenom broju objekata u kolekciji (veličina).</s>

<s>Kolekcije su ponekad implementovane u konjukciju preko iteratora.</s>

<s>Kolekcije bazirane na referencama i vrednostima 
Kolekcije se mogu podeliti u dve grupe:
 kolekcije bazirane na vrednostima;
 kolekcije bazirane na referencama.</s>

<s>Kolekcije bazirane na vrednostima 
Kolekcije bazirane na vrednostima čuvaju kopije objekata.</s><s>Kada se pristupi objektu, objekat vraća kopiju njega.</s><s>Ako se spoljni objekat promenjen posle njegovog ubacivanja u kolekciju, ne utiče na sadržaj kolekcije.</s>

<s>Kolekcije bazirane na referencama 
Kolekcije bazirane na referencama čuvaju pokazivače ili reference za objekte.</s><s>Kada se pristupi objektu, objekat vraća referencu.</s><s>Ako je spoljni objekat promenjen posle njegovog ubacivanja u kolekciju, utiče na sadržaj kolekcije.</s>

<s>Slobodna vrednosti i asocijativne kolekcije 
Kolekcije se mogu podeliti u dve grupe:
 kolekcije slobodne vrednosti;
 asocijativne kolekcije.</s>

<s>Kolekcije slobodne vrednosti 
Svaki objekat je sačuvan nezavisno u kolekciji i pristupa mu se direktno ili sa iteratorom.</s>

<s>Asocijativne kolekcije 
Asocijativni niz, mapa, ili rečnik je kolekcija koja se sastoji iz (ključ, vrednost) parova, takvih da svaki ključ se pojavljuje najviše jednom u kolekciji.</s><s>Ključ služi da se pronađe vrednost, objekta, ako je sačuvan u kolekciji.</s>

<s>Primeri kolekcija 
Kolekcije su podeljene u Standardnoj biblioteci šablona u asocijativne kolekcije i standardne kolekcije sekvenci.</s><s>Osim ova dva tipa, postoje adapteri kolekcija.</s><s>Strukturni podaci koji su implementovani preko kolekcija sadrže nizove, liste, mape, redove, skupove, stekove, tabele, stabla i vektore.</s>

<s>Grafičke kolekcije 
Pomoćni alati vidžeta koriste specijalne vidžete koji se nazivaju Kolekcije za grupisanje drugih vidžeta (prozora, panela,...).</s><s>Osim grafičkih osobina, imaju isti tip ponašanja kao kolekcije klasa, pošto čuvaju listu dečijih vidžeta, i dozvoljavaju dodavanje, uklanjanje, ili povratak vidžeta među njihovom decom.</s>

<s>Implementacije 
 .</s><s>NET: System.</s><s>Collections (MSDN)
 ActionScript3: AS3Commons Collections Framework
 C++: C++ Standard Library (SC++L) or the obsolete Standard Template Library (STL)
 Java: Java collections framework (JCF)
 Objective-C: part of the Foundation Kit
 PL/SQL Collections
 Python: has built in containers list, dict, tuple & set and can be further extended by the collections module
 Scala Mutable and Immutable Collections in the packages scala.collection.mutable and scala.collection.immutable</s>

<s>Vidi još 
 Lista struktura podataka
 Standardna biblioteka šablona
 Kolekcija (abstraktni tip podataka)
 Stek (apstraktni tip podataka)</s>

<s>Reference</s>

<s>Spoljašnje veze 
 Container Data Structure Declaration and Initialization
 Container data structures
 Python SortedContainers module A fast implementation of sorted list, sorted dict, and sorted set data types in Python.</s>

<s>Strukture podataka
Objektno-orijentisano programiranje</s>

