Колекција (програмирање)

From Wikipedia, the free encyclopedia

Remove ads

У информатици, колекција је класа, структура података,[1][2] или апстрактни тип података (АДТ) чије су инстанце колекције других објеката. Другим речима, они чувају објекте на орагнизован начин који прати специфична приступна правила. Величина колекције зависи од броја објеката (елемента) које садржи. Основна примена различитих типова колекција може варирати у комплексноти простора и времена, која пружа флексиблиност при бирању тачне имплементације за дати сценарио. 

Remove ads

Преглед

На колекције се може гледати на три начина:

  • приступ, то је начин приступу објекта колекције. У случају низова, пристип се извршава са индексом низа. У случају стекова, приступ се извршава према ЛИФО(последњи унутра, први споља) редоследу (алтернативно име: ФИЛО, први унутра, последњи споља)[3] и у случају редова извршава се према ФИФО(први унутра, први споља) редоследу (алтернативно име: ЛИЛО, последњи унутра, последњи споља);[3]FIFO(investopedia.com)</ref>[4]
  • складиштење, начин складиштења објеката колекције,
  • прелажење, то је начин прелажења објеката колекције.

За колекције класа се очекује да имплементују методе да раде следеће:

  • направити празну колекцију;
  • убацити објекте у колекцију;
  • избрисати објекте из колекције;
  • избрисати све објекте у колекцији (очисти);
  • приступити објектима у колекцији;
  • приступити одређеном броју објеката у колекцији (величина).

Колекције су понекад имплементоване у конјукцију преко итератора.

Remove ads

Колекције базиране на референцама и вредностима

Колекције се могу поделити у две групе:

  • колекције базиране на вредностима;
  • колекције базиране на референцама.

Колекције базиране на вредностима

Колекције базиране на вредностима чувају копије објеката. Када се приступи објекту, објекат враћа копију њега. Ако се спољни објекат промењен после његовог убацивања у колекцију, не утиче на садржај колекције.

Колекције базиране на референцама

Колекције базиране на референцама чувају показиваче или референце за објекте. Када се приступи објекту, објекат враћа референцу. Ако је спољни објекат промењен после његовог убацивања у колекцију, утиче на садржај колекције.

Remove ads

Слободна вредности и асоцијативне колекције

Колекције се могу поделити у две групе:

  • колекције слободне вредности;
  • асоцијативне колекције.

Колекције слободне вредности

Сваки објекат је сачуван независно у колекцији и приступа му се директно или са итератором.

Асоцијативне колекције

Асоцијативни низ, мапа, или речник је колекција која се састоји из (кључ, вредност) парова, таквих да сваки кључ се појављује највише једном у колекцији. Кључ служи да се пронађе вредност, објекта, ако је сачуван у колекцији.

Примери колекција

Колекције су подељене у Стандардној библиотеци шаблона у асоцијативне колекције и стандардне колекције секвенци. Осим ова два типа, постоје адаптери колекција. Структурни подаци који су имплементовани преко колекција садрже низове, листе, мапе, редове, скупове, стекове, табеле, стабла и векторе.

Графичке колекције

Помоћни алати виџета користе специјалне виџете који се називају Колекције за груписање других виџета (прозора, панела,...). Осим графичких особина, имају исти тип понашања као колекције класа, пошто чувају листу дечијих виџета, и дозвољавају додавање, уклањање, или повратак виџета међу њиховом децом. 

Имплементације

Remove ads

Види још

Референце

Спољашње везе

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads