- •Коллекции
- •Цели занятия
- •Коллекции
- •Интерфейс Collection
- •Методы интерфейса Collection
- •Методы интерфейса Collection
- •Методы интерфейса Collection
- •Интерфейс Set
- •Интерфейс List
- •Специальные методы интерфейса List
- •Специальные методы интерфейса List
- •Интерфейс Iterator
- •Интерфейс Map
- •Методы интерфейса Map
- •Методы интерфейса Map
- •Методы интерфейса Map
- •Классы коллекций
- •Класс Collections
- •Синхронизированные обертки
- •Неизменяемые обертки
- •Прикладные методы класса
- •Прикладные методы класса
- •Литература
Коллекции
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Цели занятия
2 Изучить:
•Интерфейс Collection
•Интерфейс Set
•Интерфейс List
•Интерфейс Iterator
•Интерфейс Map
•Классы коллекций
•Класс Collections
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Коллекции
3• Коллекции (контейнеры) – хранилища, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения возможностей эффективного доступа к ним
•В Java коллекции разделены на интерфейсы, абстрагирующие общие принципы работы с коллекциями, и классы, реализующие конкретную функциональность
•Не все методы, заявленные в интерфейсах, должны в действительности реализовываться классами
•Часть методов может просто выбрасывать
исключение UnsupportedOperationException
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Интерфейс Collection
4• Является образующим для интерфейсов коллекций
•Определяет базовую функциональность любой коллекции
•Подразумевает добавление, удаление, выбор элементов в коллекции
•Допускает дубликаты и пустые элементы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Методы интерфейса Collection
5• Добавление элементов
boolean add(Object o) – проверяет, содержит ли
коллекция элемент o, добавляет его в коллекцию и возвращает true, если при выполнении операции
потребовалось изменение коллекции. Если коллекция
позволяет хранение одинаковых элементов, метод всегда возвращает true. Если наличие элементов-дубликатов
недопустимо и соответствующий элемент уже присутствует в коллекции, возвращается fase
boolean addAll(Collection c) – добавляет каждый элемент коллекции c в текущую коллекцию, возвращает true, если
любая операция добавления требует изменения текущей
коллекции
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Методы интерфейса Collection
6• Исключение элементов
boolean remove(Object o) – удаляет из коллекции один экземпляр элемента o и возвращает true, если при выполнении операции потребовалось изменение коллекции (т.е. если элемент действительно присутствовал в коллекции). Если значение o равно null, true возвращается в том случае, когда в составе коллекции существовал элемент null
boolean removeAll(Collection c) - удаляет каждый элемент коллекции c из текущей коллекцию, возвращает true, если любая операция удаления требует изменения текущей коллекции
boolean retainAll(Collection c) - удаляет из текущей коллекции все элементы, отсутствующие в коллекции c, возвращает true, если любая операция удаления требует изменения текущей коллекции.
void clear() – очищает коллекцию, т.е. удаляет все ее элементы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Методы интерфейса Collection
7• Состояние коллекции
boolean contains(Object o) – возвращает true, если коллекция содержит элемент o, т.е. если в коллекции имеется такой элемент, для которого метод equals, сравнивающий его с элементом o, возвращает true. Если значение o равно null, метод возвращает true
в том случае, когда в коллекции существует элемент, равный null boolean containsAll(Collection c) – возвращает true, если текущая коллекция содержит все элементы коллекции c
boolean isEmpty() – возвращает true, если коллекция пуста int size() – возвращает размер коллекции, т.е. количество
элементов, которые она содержит в данный момент. Возвращаемое значение ограничено сверху величиной Integer.MAX_VALUE – даже в том случае, если в коллекции хранится большее число элементов
•Вспомогательные методы
Object[] toArray() – возвращает новый массив, содержащий ссылки на все элементы коллекции
Iterator iterator() – возвращает объект итератора, позволяющий получать последовательно расположенные элементы коллекции
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Интерфейс Set
8• Расширяет интерфейс Collection
•Не разрешает наличие дубликатов
•Допускается наличие только одной ссылки null
•Объекты коллекции должны реализовывать метод equals()
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Интерфейс List
9• Расширяет интерфейс Collection
•Подразумевает хранение упорядоченной последовательности объектов
•Порядок хранения определяется порядком добавления элементов
•Позволяет обращаться к элементам по их номеру
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Специальные методы интерфейса List
10 • Адресное добавление
void add(int index, Object o) – вставляет элемент o на index-ю позицию в списке, сдвигая каждый последующий элемент на одну позицию в направлении конца списка
•Адресные операции с элементами
Object get(int index) – возвращает элемент, занимающий index-ю позицию в списке
Object set(int index, Object o) – возвращает содержимое элемента, расположенного на index-й позиции в списке, и замещает его в списке значением o
Object remove(int index) – возвращает содержимое
элемента, занимающего index-ю позицию в списке, и
удаляет этот элемент из списка, сдвигая каждый
последующий элемент на одну позицию в направлении
начала списка
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |