Kādas ir kolekciju realizācijas Java programmēšanas valodā?
sobes.tech AI
Atbilde no AI
-
Saskarnes:
Collection: Visu kolekciju pamata saskarne.List: Sakarta kolekcija (ar indeksiem).Set: Kolekcija bez dublikatiem.SortedSet: Sakarta kolekcija bez dublikatiem, elementiem ir sakartota.Map: Asociatīvais masīvs (atslēga-vērtība).SortedMap: Sakārtots asociatīvais masīvs pēc atslēgām.Queue: Kolekcija elementu glabāšanai pirms to apstrādes.Deque: Divvirzienu rinda.
-
Klases (galvenās realizācijas):
List:ArrayList: Dinamisks masīvs. Ātrs piekļuve pēc indeksa, lēnas operācijas ievietošanas/izņemšanas vidū.LinkedList: Divvirzienu saistīts saraksts. Lēna piekļuve pēc indeksa, ātras ievietošanas/izņemšanas operācijas vidū.Vector: Novecojis sinhronizētsArrayListekvivalents.Stack:Vectorapakšklase, kas realizē steku (LIFO).
-
Set: -HashSet: Pamats balstīts uz haštabulu. Ne garantē elementu kārtību. -LinkedHashSet: Pamats balstīts uz haštabulu un sasaistītu sarakstu. Saglabā ievietošanas kārtību. -TreeSet: Pamats balstīts uz sarkano-zaļo koku. Elementi ir sakārtoti augošā secībā. -
Map: -HashMap: Pamats balstīts uz haštabulu. Ne garantē pāru kārtību. -Hashtable: Novecojis sinhronizētsHashMapekvivalents. -LinkedHashMap: Pamats balstīts uz haštabulu un sasaistītu sarakstu. Saglabā ievietošanas kārtību. -TreeMap: Pamats balstīts uz sarkano-zaļo koku. Pāri ir sakārtoti pēc atslēgām. -
Queue: -PriorityQueue: Prioritātes rinda. Elementi tiek izņemti pēc to dabiskās kārtības vai salīdzinātāja. -ArrayDeque: Divvirzienu rinda, balstīta uz masīvu. -
Noderīgi rīki: -
Collections: Statiskās metodes darbam ar kolekcijām (kārtošana, meklēšana, sinhronizācija utt.).
// Piemērs ar ArrayList
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// Piemērs ar HashSet
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Dublikāts netiks pievienots
System.out.println(numbers.size()); // 2
// Piemērs ar HashMap
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// Piemērs ar PriorityQueue
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (zemākais prioritāte)