Junior
Aké kolekcie existujú v Jave?
sobes.tech AI
Odpoveď od AI
V Jave existujú nasledujúce základné rozhrania kolekcií, ktoré sú súčasťou Java Collections Framework:
-
Collection: Základné rozhranie definujúce všeobecné operácie nad skupinami objektov. Od neho dedí pod-rozhrania:List: Usporiadaná kolekcia (sekvencia). Prvky sa môžu opakovať. Podporuje prístup podľa indexu.ArrayList: Dynamické pole. Dobré pre rýchly prístup podľa indexu a pridávanie na koniec. Pomalé pre vkladanie/odstraňovanie uprostred.LinkedList: Dvojprepojený zoznam. Dobré pre vkladanie/odstraňovanie na začiatku alebo na konci. Pomalé pre prístup podľa indexu.Vector: Synchronizovaná verziaArrayList. Považuje sa za zastaranú.Stack: Dedí odVector, implementuje správanie zásobníka (LIFO).
Set: Kolekcia obsahujúca iba unikátne prvky. Nezaručuje poradie.HashSet: Implementované pomocou hash tabuľky. Najrýchlejšie pre operácie pridania, odstránenia a kontroly prítomnosti. Nezaručuje poradie.LinkedHashSet: Implementované ako hash tabuľka + prepojený zoznam. Zaručuje poradie vkladania.TreeSet: Implementované pomocou červeno-čierneho stromu. Ukladá prvky v zoradenom poradí. Pomalšie akoHashSet, ale rýchlejšie akoLinkedHashSetpri vyhľadávaní rozsahov.
Queue: Kolekcia určená na ukladanie prvkov pred spracovaním (FIFO - prvý vošiel, prvý vyšiel).PriorityQueue: Prvky sú uložené podľa ich prirodzeného poradia alebo komparátora. Vyberá sa prvok s najvyšším priorítom.Deque: (Dvojkoncová fronta) Podporuje vkladanie a odstraňovanie z oboch koncov.ArrayDeque: Implementácia Deque na základe poľa. Efektívnejšia akoLinkedListako fronta/zásobník.
-
Map: Kolekcia, ktorá ukladá dvojice kľúč-hodnota. Kľúče sú jedinečné.HashMap: Implementované pomocou hash tabuľky. Najrýchlejšie pre operácie pridania, odstránenia a kontroly prítomnosti. Nezaručuje poradie kľúčov.LinkedHashMap: Implementované ako hash tabuľka + prepojený zoznam. Zaručuje poradie vkladania alebo prístupu.TreeMap: Implementované pomocou červeno-čierneho stromu. Ukladá dvojice kľúč-hodnota v zoradenom poradí podľa kľúčov. Pomalšie akoHashMap.HashTable: Synchronizovaná verziaHashMap. Považuje sa za zastaranú.
Existujú aj zastarané triedy, ktoré nie sú súčasťou JCF, ale občas sa používajú:
VectorStackHashtableEnumeration(rozhranie)