Українська
Підсумки
Висновки
Вибір колекції починається з контракту задачі: порядок і повтори, унікальність, правило вибору наступного елемента чи пошук за ключем. List, Set, Queue, Deque і Map задають різні набори операцій, а послідовні інтерфейси Java 21 уніфікують роботу з першим і останнім елементом. Оцінка складності допомагає порівнювати структури, але не замінює вимірювань. Ітератор відокремлює обхід від будови контейнера, а структурна зміна поза ним спричиняє fail-fast-виняток навіть в одному потоці виконання. Хеш-структури спираються на узгоджені equals і hashCode та незмінність ключа, а TreeSet і TreeMap – на компаратор, який має розрізняти всі потрібні елементи. PriorityQueue видає елементи за пріоритетом лише через poll, а LinkedHashMap може зберігати порядок вставлення або доступу. Живі подання й обгортки відрізняються від незмінних копій, і жодна з них не копіює елементи глибоко. Колекційний алгоритм перевіряють властивостями результату й тестовими даними з порожніми наборами, повторами та нічиями.
Підсумкові запитання
- Які властивості потрібні задачі: порядок, унікальність, індекс?
- Чому ArrayList і LinkedList мають різну вартість доступу?
- Чим незмінна копія відрізняється від живої обгортки?
- Чому TreeSet може відкинути різні об’єкти з однаковим балом?
- Чому ітерація PriorityQueue не є відсортованим звітом?
- Яка зміна ключа порушує пошук у HashMap?
- Коли читання LinkedHashMap змінює порядок?