Sobes.tech
Middle

Jaká je struktura rámce kolekcí v Javě?

sobes.tech AI

Odpověď od AI

Framework kolekcí Java má hierarchickou strukturou založenou na rozhraní a třídách. Hlavní prvky:

  • Rozhraní nejvyšší úrovně:
    • Collection: Základní rozhraní pro všechny kolekce. Definuje obecné metody pro práci s prvky (přidání, odstranění, kontrola přítomnosti atd.).
    • Map: Reprezentuje přiřazení mezi klíči a hodnotami. Není podtřídou Collection.
  • Rozhraní rozšiřující Collection:
    • List: Seřazená kolekce. Umožňuje duplicitní prvky a přístup podle indexu.
    • Set: Kolekce bez duplicit. Nezaručuje určitý pořádek prvků.
    • Queue: Kolekce určená pro uložení prvků před zpracováním. Obvykle následuje princip FIFO (první přišel - první odešel).
    • Deque: Dvoustranná fronta. Umožňuje přidávání a odstraňování prvků jak z začátku, tak z konce.
  • Nejčastěji používané implementace rozhraní:
Rozhraní Časté implementace Vlastnosti
List ArrayList, LinkedList, Vector ArrayList - dynamické pole, rychlý přístup podle indexu. LinkedList - dvousměrně vázaný seznam, rychlé přidávání/mazání na začátku/konci. Vector - synchronizovaný ArrayList.
Set HashSet, LinkedHashSet, TreeSet HashSet - ukládá prvky do hash tabulky, rychlé vyhledávání/přidávání/mazání. LinkedHashSet - jako HashSet, ale zachovává pořadí přidání. TreeSet - ukládá prvky v seřazeném pořadí (červená-černá strom).
Queue LinkedList, ArrayDeque, PriorityQueue LinkedList - může být použit jako fronta. ArrayDeque - efektivní implementace Deque, může být použit jako fronta nebo zásobník. PriorityQueue - prvky jsou zpracovávány na základě priority.
Deque ArrayDeque, LinkedList ArrayDeque - preferovaná pro použití jako zásobník/fronta. LinkedList - může být použit jako Deque.
  • Rozhraní rozšiřující Map:
    • SortedMap: Map s klíči seřazenými v přirozeném pořadí nebo s použitím komparátoru.
    • NavigableMap: Rozšiřuje SortedMap, poskytuje metody pro navigaci mezi záznamy (například získání nejbližšího záznamu).
  • Nejčastěji používané implementace rozhraní Map:
Rozhraní Časté implementace Vlastnosti
Map HashMap, LinkedHashMap, TreeMap, Hashtable HashMap - ukládá záznamy do hash tabulky, rychlé operace. LinkedHashMap - jako HashMap, ale zachovává pořadí přidání. TreeMap - ukládá záznamy v seřazeném pořadí podle klíčů (červená-černá strom). Hashtable - synchronizovaný HashMap (zastaralý).
SortedMap TreeMap Zaručuje seřazenost záznamů podle klíčů.
NavigableMap TreeMap Poskytuje metody pro navigaci podle seřazených klíčů.
  • Pomocné třídy:
    • Collections: Poskytuje statické metody pro práci s kolekcemi (třídění, hledání, synchronizace atd.).
    • Arrays: Poskytuje statické metody pro práci s poli, včetně převodu polí na kolekce a naopak.

Struktura umožňuje vybírat nejvhodnější typy kolekcí pro konkrétní úkoly na základě požadavků na pořadí prvků, možnost duplicit, výkon operací a potřebu synchronizace.