Добавить в корзинуПозвонить
Найти в Дзене

Кратко про коллекции в Java

Коллекции в Java — это структуры данных для хранения и управления группами объектов. Они реализуют интерфейсы из Java Collections Framework (JCF). КоллекцияПорядокДубликатыДоступВставка/УдалениеArrayListДаДаO(1)O(n) (в середине)LinkedListДаДаO(n)O(1) (если узел известен)HashSetНетНетO(1)O(1)TreeSetСортир.НетO(log n)O(log n)HashMapНетКлючи уникальныO(1)O(1) Итог:
Оглавление

Коллекции в Java — это структуры данных для хранения и управления группами объектов. Они реализуют интерфейсы из Java Collections Framework (JCF).

1. Основные интерфейсы

  • Collection — корневой интерфейс для всех коллекций.
  • List — упорядоченные коллекции (дубликаты разрешены).
    ArrayList — динамический массив (быстрый доступ).
    LinkedList — двусвязный список (быстрая вставка/удаление).
  • Set — уникальные элементы (без порядка).
    HashSet — хранение по хэшу .
    LinkedHashSet — сохраняет порядок добавления.
    TreeSet — сортирует элементы .
  • Queue/Deque — FIFO/LIFO структуры.
    LinkedList — можно использовать как очередь.
    PriorityQueue — приоритетная очередь.
  • Map — пары «ключ-значение».
    HashMap — хранение по хэшу.
    LinkedHashMap — сохраняет порядок добавления.
    TreeMap — сортирует по ключам.

2. Выбор коллекции

  • Нужен порядок?List (ArrayList/LinkedList).
  • Уникальность?Set (HashSet/TreeSet).
  • Ключ-значение?Map (HashMap/TreeMap).
  • Очередь/стек?Queue/Deque.

3. Итерация

  • for-each (для всех коллекций):javafor (String item : list) { ... }
  • Итератор (безопасное удаление):javaIterator<String> it = list.iterator();
    while (it.hasNext()) { ... }

4. Сравнение

КоллекцияПорядокДубликатыДоступВставка/УдалениеArrayListДаДаO(1)O(n) (в середине)LinkedListДаДаO(n)O(1) (если узел известен)HashSetНетНетO(1)O(1)TreeSetСортир.НетO(log n)O(log n)HashMapНетКлючи уникальныO(1)O(1)

5. Полезные методы

  • add() / remove() — добавление/удаление.
  • contains() — проверка наличия элемента.
  • size() — количество элементов.
  • Collections.sort() — сортировка списков.

Итог:

  • List — для работы с индексами.
  • Set — для уникальных значений.
  • Map — для словарей.
  • Queue — для очередей.