Kolekce (programování)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 28. srpna 2018; kontroly vyžadují 9 úprav .

Kolekce v programování je programový objekt, který tak či onak obsahuje sadu hodnot jednoho nebo různých typů a umožňuje vám k těmto hodnotám přistupovat.

Kolekce umožňuje zápis a načítání hodnot. Účelem sbírky je sloužit jako úložiště objektů a poskytovat k nim přístup. Kolekce se obvykle používají k ukládání skupin objektů stejného typu, které podléhají stereotypům. Pro přístup k určitému prvku kolekce lze použít různé metody v závislosti na její logické organizaci. Implementace MŮŽE umožňovat provádění jednotlivých operací na kolekcích jako celku. Přítomnost operací s kolekcemi v mnoha případech může značně zjednodušit programování.

Sbírky a kontejnery

Kolekce nebo kontejner seskupuje nějaký proměnný (možná nulový) počet datových prvků, které mají nějakou společnou hodnotu pro řešení problému. Jsou nějakým způsobem operováni. Obvykle jsou datové prvky stejného typu nebo (v jazycích, které podporují dědičnost ) budou typy odvozeny od nějakého společného typu předka. Kolekce je koncept aplikovaný na abstraktní datové typy a nepředepisuje konkrétní implementaci prostřednictvím konkrétní datové struktury, i když často existuje dobře zavedená volba. Kontejnery v teorii typů  jsou abstrakce, které umožňují reprezentovat kolekce různých struktur, jako jsou seznamy a stromy , nějakým jednotným způsobem. ( unární ) kontejner je definován indexy S a rodinou typů na pozicích P indexovaných S: je dána funkce od typů indexu po typ prvku. Kontejnery lze považovat za kanonické třídy pro kolekce různých typů. Seznamy jsou indexovány prostřednictvím přirozených čísel (včetně nuly ). Seznamy mají maximální index. U stromů může být struktura stromu vyjádřena pomocí indexů bez konkrétních informací o obsahu uzlů. Indexy prvků struktury v paměti jsou izomorfní s cestami od kořene stromu k jeho uzlům .

Klasifikace

Podle obecných charakteristik

Podle logiky organizace

V závislosti na tom, jak je přístup k datům kolekce logicky organizován, se rozlišují následující hlavní typy:

Podle implementace

Na úrovni implementace může být kolekce jednou z následujících datových struktur:

Operace s kolekcemi

V závislosti na booleovském typu kolekce a na implementaci mohou být obecně podporovány různé operace s kolekcemi. Ve všech případech lze operace provádět pouze na párech kolekcí stejného typu (a pokud kolekce nejsou heterogenní, se stejným typem prvků). Podporovány mohou být také následující operace:

Pozoruhodné implementace

Viz také

Poznámky

Odkazy