Большинство современных языков программирования предоставляют готовые инструменты для создания структур данных. В Java за это отвечают коллекции или Java Collections Framework («фреймворк коллекций в Java»). Это набор интерфейсов и классов, которые реализуют основные структуры данных на Java.
Разберем Collection
Часто пишут, что Collection — это основной и самый главный интерфейс. Технически это не совсем так, потому что он все же наследуется от Iterable, но фактически считается базовым. Он описывает понятие коллекции и тем самым расширяет возможности итерируемого объекта.
При этом абстрактного объекта Collection быть не может — реальные сущности должны относиться к одному из потомков этого интерфейса, то есть быть очередью, списком или набором.
Объекты, которые относятся к коллекциям, можно перебирать в цикле for-each. У них есть ряд общих методов, актуальных для всех видов коллекций.
Методы Collection
- add(item) — добавляет элемент item(то что указано в скобках) в коллекцию;
- addAll(collection) — добавляет в коллекцию другую коллекцию, ту, что указана в скобках;
- contains(item) — возвращает true или false в зависимости от того, есть ли в коллекции элемент item;
- containsAll(collection) — работает так же, как предыдущий, но проверяет наличие в коллекции не элемента, а другой коллекции;
- remove(item) — удаляет из коллекции указанный элемент;
- retainAll(collection) — удаляет из коллекции указанную в скобках коллекцию. Обратите внимание: retainAll, не removeAll;
- clear() — очищает коллекцию, то есть удаляет из нее все элементы;
- size() — выдает количество элементов в коллекции в формате целого числа;
- isEmpty() — возвращает true или false в зависимости от того, пуста ли коллекция;
- toArray() — превращает коллекцию в массив.