Junior
Povedzte o hierarchii kolekcií v Jave.
sobes.tech AI
Odpoveď od AI
Hierarchia kolekcií v Jave je postavená okolo dvoch koreňových rozhraní: Collection a Map. Je definovaná v balíku java.util.
Collection<E>: Koreňové rozhranie pre väčšinu kolekcií. Predstavuje skupinu prvkov. Nezaručuje poradie alebo jedinečnosť prvkov.List<E>: Usporiadaná kolekcia (sekvencia). Prvky majú určený index. Môžu obsahovať duplikáty.ArrayList<E>: Implementácia na základe poľa. Rýchly náhodný prístup, pomalé vkladanie/odstraňovanie uprostred.LinkedList<E>: Implementácia na základe prepojeného zoznamu. Pomalý náhodný prístup, rýchle vkladanie/odstraňovanie na začiatku/konci.Vector<E>: Zastaralá synchronizovaná trieda. PodobnáArrayList, ale vlákno-bezpečná (a menej výkonná).Stack<E>: Zastaralá trieda, rozširujúcaVector, implementuje správanie zásobníka (LIFO).
Set<E>: Kolekcia obsahujúca jedinečné prvky.HashSet<E>: Implementácia na základe hash tabuľky. Neusporiadané. Rýchle operácieadd,remove,contains.LinkedHashSet<E>: Udržiava poradie vkladania.SortedSet<E>: Množina, zoradená vzostupne.TreeSet<E>: Implementácia na základe červeno-čierneho stromu. Zaručuje zoradené poradie.
Queue<E>: Kolekcia určená na ukladanie prvkov pred spracovaním, často v poriadku FIFO (First-In, First-Out).PriorityQueue<E>: Implementácia fronty s prioritami. Prvky sa odstraňujú podľa ich priority.Deque<E>: (Dvojitá koncová fronta) Dvojstranná fronta. Podporuje operácie vkladania a odstraňovania z oboch koncov.ArrayDeque<E>: ImplementáciaDequena základe dynamického poľa. Rýchlejšia akoLinkedListpri použití ako zásobník alebo fronta.
Map<K, V>: Objekt, ktorý mapuje kľúče na hodnoty. Kľúče sú jedinečné, hodnoty môžu sa opakovať.HashMap<K, V>: Implementácia na základe hash tabuľky. Neusporiadané. Rýchle operácieput,get,remove.LinkedHashMap<K, V>: Udržiava poradie vkladania alebo prístupu.SortedMap<K, V>: Mapa zoradená podľa kľúčov.TreeMap<K, V>: Implementácia na základe červeno-čierneho stromu. Zaručuje zoradené poradie podľa kľúčov.
Hashtable<K, V>: Zastaralá synchronizovaná trieda. PodobnáHashMap, ale vlákno-bezpečná (a menej výkonná).
Hlavné rozhrania:
| Rozhranie | Popis | Poradie | Jedinečnosť | Duplikáty hodnôt |
|---|---|---|---|---|
Collection |
Skupina prvkov | +/- | +/- | Áno |
List |
Usporiadaná kolekcia | Áno | Nie | Áno |
Set |
Kolekcia jedinečných prvkov | +/- | Áno | Nie |
Queue |
Kolekcia na spracovanie (FIFO) | Áno | Nie | Áno |
Deque |
Dvojstranná fronta | Áno | Nie | Áno |
Map |
Kľúč-hodnota | +/- | Podľa kľúča | Áno |
SortedSet |
Zoradená množina | Áno | Áno | Nie |
SortedMap |
Mapa zoradená podľa kľúčov | Áno | Podľa kľúča | Áno |
Príklad použitia:
// Príklad použitia ArrayList
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// Príklad použitia HashSet
Set<Integer> uniqueNumbers = new HashSet<>();
uniqueNumbers.add(1);
uniqueNumbers.add(2);
uniqueNumbers.add(1); // Duplikát je ignorovaný
System.out.println(uniqueNumbers.size()); // 2
// Príklad použitia HashMap
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30