#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]]