Junior
Koje su implementacije kolekcija u programskom jeziku Java?
sobes.tech АИ
Одговор од АИ
-
Интерфејси:
Collection: Основни интерфејс за сите колекције.List: Подредена колекција (са индекси).Set: Колекција без дупликати.SortedSet: Подредена колекција без дупликати, елементите се сортирани.Map: Асоцијативен масив (клуч-врстина).SortedMap: Сортиран асоцијативен масив по клучеви.Queue: Колекција за чување на елементи пред нивната обработка.Deque: Обострана редица.
-
Класите (главни имплементации):
-
За
List:ArrayList: Динамички низ. Брз пристап по индекс, бавни операции вметнување/брисање во средината.LinkedList: Двосвързан список. Бавен пристап по индекс, брзи операции вметнување/брисање во средината.Vector: Застарел синхронизирана алтернатива наArrayList.Stack: Подкласа наVector, реализирач стек (LIFO).
-
За
Set:HashSet: Реализација базирана на хеш табела. Не гарантира редослед.LinkedHashSet: Реализација базирана на хеш табела и поврзан список. Зачувува редослед на вметнување.TreeSet: Реализација базирана на црвено-црно дрво. Елементите се сортирани по растојание.
-
За
Map:HashMap: Реализација базирана на хеш табела. Не гарантира редослед на паровите клуч-врстина.Hashtable: Застарел синхронизирана алтернатива наHashMap.LinkedHashMap: Реализација базирана на хеш табела и поврзан список. Зачувува редослед на вметнување.TreeMap: Реализација базирана на црвено-црно дрво. Паровите клуч-врстина се сортирани по клучеви.
-
За
Queue:PriorityQueue: Ред со приоритет. Елементите се извлекуваат според нивниот природен ред или споредувач.ArrayDeque: Реализација на двосвързана редица базирана на низ.
-
-
Утилити:
Collections: Претставуваат статички методи за работа со колекции (сортирање, пребарување, синхронизација и др.).
// Пример за користење на ArrayList
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// Пример за користење на HashSet
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Дупликат нема да биде додаден
System.out.println(numbers.size()); // 2
// Пример за користење на HashMap
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// Пример за користење на PriorityQueue
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (најниска приоритет)