Files
obsidian/Prog/Коллекции в Java.md
T
2026-09-24 13:22:58 +05:00

17 lines
1.6 KiB
Markdown

#java #коллекции
Коллекции [[Java]] и производительность
🍩List (Списки)
🟣ArrayList – быстрый доступ к элементам и их обход, но вставка/удаление в середине списка требует сдвига элементов.
🟣LinkedList – удобен для вставки и удаления, но случайный доступ медленный, так как элементы обходятся с начала или конца.
🍩Set (Множества)
🟣HashSet – быстрые операции добавления, удаления и поиска (за O(1)), но не сохраняет порядок элементов.
🟣LinkedHashSet – сохраняет порядок вставки и быстрее перебирается, чем HashSet.
🟣TreeSet – поддерживает сортировку, но операции добавления, удаления и поиска имеют логарифмическую сложность O(log n).
🍩Map (Словари/Отображения)
🟣HashMap – обеспечивает O(1) доступ по ключу, но не сохраняет порядок. Возможны коллизии, которые могут замедлить работу.
🟣LinkedHashMap – сохраняет порядок вставки и перебирается быстрее, чем HashMap.
🟣TreeMap – хранит ключи в отсортированном порядке, но операции выполняются за O(log n).
![[collection.jpg]]