wingman007

AlgorithmsDataStructuresJavaDataStructures

Oct 18th, 2025 (edited)
798
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.24 KB | None | 0 0
  1. 📦 1. Array
  2.  
  3. Какво е? Фиксиран по размер контейнер за елементи от един и същи тип.
  4.  
  5. Кога се използва? Когато знаем предварително колко елемента ще имаме.
  6.  
  7. int[] numbers = {1, 2, 3};
  8. System.out.println(numbers[0]); // 1
  9.  
  10. 📦 2. ArrayList
  11.  
  12. Какво е? Динамичен масив с бърз достъп по индекс.
  13.  
  14. Кога се използва? Когато размерът на списъка може да се променя често.
  15.  
  16. import java.util.ArrayList;
  17.  
  18. ArrayList<String> names = new ArrayList<>();
  19. names.add("Иван");
  20. System.out.println(names.get(0)); // Иван
  21.  
  22. 📦 3. LinkedList
  23.  
  24. Какво е? Двусвързан списък с лесно добавяне и премахване.
  25.  
  26. Кога се използва? Когато често добавяме/махаме от началото или средата.
  27.  
  28. import java.util.LinkedList;
  29.  
  30. LinkedList<Integer> list = new LinkedList<>();
  31. list.add(10);
  32. list.add(20);
  33. System.out.println(list.getFirst()); // 10
  34.  
  35. 📦 4. HashMap
  36.  
  37. Какво е? Несортирана асоциативна структура от ключ–стойност.
  38.  
  39. Кога се използва? Когато искаме бърз достъп по ключ.
  40.  
  41. import java.util.HashMap;
  42.  
  43. HashMap<String, Integer> map = new HashMap<>();
  44. map.put("А", 1);
  45. map.put("Б", 2);
  46. System.out.println(map.get("А")); // 1
  47.  
  48. 📦 5. TreeMap
  49.  
  50. Какво е? Сортирана по ключове асоциативна структура.
  51.  
  52. Кога се използва? Когато искаме ключовете да са подредени.
  53.  
  54. import java.util.TreeMap;
  55.  
  56. TreeMap<String, Integer> map = new TreeMap<>();
  57. map.put("Б", 2);
  58. map.put("А", 1);
  59. System.out.println(map.firstKey()); // А
  60.  
  61. 📦 6. HashSet
  62.  
  63. Какво е? Множество без повторения, без определен ред.
  64.  
  65. Кога се използва? Когато трябва да съхраним уникални елементи.
  66.  
  67. import java.util.HashSet;
  68.  
  69. HashSet<String> set = new HashSet<>();
  70. set.add("Java");
  71. set.add("Java");
  72. System.out.println(set.size()); // 1
  73.  
  74. 📦 7. TreeSet
  75.  
  76. Какво е? Сортирано множество без дубликати.
  77.  
  78. Кога се използва? Когато искаме уникални елементи в нареден вид.
  79.  
  80. import java.util.TreeSet;
  81.  
  82. TreeSet<Integer> set = new TreeSet<>();
  83. set.add(3);
  84. set.add(1);
  85. System.out.println(set.first()); // 1
  86.  
  87. 📦 8. Stack
  88.  
  89. Какво е? Стек (LIFO – последен влязъл, пръв излиза).
  90.  
  91. Кога се използва? При рекурсивни алгоритми, браузър история и др.
  92.  
  93. import java.util.Stack;
  94.  
  95. Stack<Integer> stack = new Stack<>();
  96. stack.push(10);
  97. stack.push(20);
  98. System.out.println(stack.pop()); // 20
  99.  
  100. 📦 9. Queue
  101.  
  102. Какво е? Опашка (FIFO – първи влязъл, първи излиза).
  103.  
  104. Кога се използва? При обработка на събития, задачи и т.н.
  105.  
  106. import java.util.Queue;
  107. import java.util.LinkedList;
  108.  
  109. Queue<String> queue = new LinkedList<>();
  110. queue.add("A");
  111. queue.add("B");
  112. System.out.println(queue.poll()); // A
  113.  
  114. 📦 10. Deque (Double-Ended Queue)
  115.  
  116. Какво е? Опашка с добавяне/премахване и от двете страни.
  117.  
  118. Кога се използва? При буфери или палиндромни проверки.
  119.  
  120. import java.util.ArrayDeque;
  121. import java.util.Deque;
  122.  
  123. Deque<String> deque = new ArrayDeque<>();
  124. deque.addFirst("начало");
  125. deque.addLast("край");
  126. System.out.println(deque.getFirst()); // начало
  127.  
  128. 📦 11. PriorityQueue
  129.  
  130. Какво е? Приоритетна опашка – елементите се извеждат според приоритет.
  131.  
  132. Кога се използва? При задачи със спешност, алгоритъм на Дейкстра и др.
  133.  
  134. import java.util.PriorityQueue;
  135.  
  136. PriorityQueue<Integer> pq = new PriorityQueue<>();
  137. pq.add(30);
  138. pq.add(10);
  139. System.out.println(pq.poll()); // 10
  140.  
  141. 📦 12. Hashtable
  142.  
  143. Какво е? Стара, синхронизирана хеш таблица.
  144.  
  145. Кога се използва? Рядко – заменена от HashMap.
  146.  
  147. import java.util.Hashtable;
  148.  
  149. Hashtable<String, String> table = new Hashtable<>();
  150. table.put("Ключ", "Стойност");
  151. System.out.println(table.get("Ключ")); // Стойност
  152.  
  153. 📦 13. Vector
  154.  
  155. Какво е? Стара версия на ArrayList, синхронизирана.
  156.  
  157. Кога се използва? Почти никога в съвременен код.
  158.  
  159. import java.util.Vector;
  160.  
  161. Vector<Integer> vector = new Vector<>();
  162. vector.add(100);
  163. System.out.println(vector.get(0)); // 100
  164.  
  165. 📦 14. BitSet
  166.  
  167. Какво е? Масив от бита (boolean стойности).
  168.  
  169. Кога се използва? За ефективни побитови операции.
  170.  
  171. import java.util.BitSet;
  172.  
  173. BitSet bits = new BitSet();
  174. bits.set(2);
  175. System.out.println(bits.get(2)); // true
Advertisement