17 lines
1.6 KiB
Markdown
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]] |