Junior
Java программалоо тилинде коллекциялардын ишке ашырылышы кандай?
sobes.tech AI
AIден жооп
-
Интэрфейстер:
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 (эң төмөнкү приоритет)