Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Haulmont-презентации Java / Haulmont. java_se_7.3.ppt
Скачиваний:
27
Добавлен:
16.03.2015
Размер:
1.19 Mб
Скачать

Специальные методы интерфейса List

11 Операции поиска

int indexOf(Object o) – возвращает индекс первого объекта в списке, равного(equals) параметру o, либо null, если o равен null. Возвращает -1, если совпадения не обнаружены

int lastIndexOf(Object o) - возвращает индекс последнего объекта в списке, равного(equals) параметру o, либо null, если o равен null. Возвращает -1, если совпадения не обнаружены

Специальные операции

List subList(int from, int to) – возвращает частичный список или курсор текущего списка; в курсор включаются элементы списка, занимающие позиции от from до to, кроме элемента с индексом to. Содержимое курсора поддерживается коллекцией в актуальном состоянии: изменения, вносимые в курсор, отображаются в текущем списке. Изменения, которые претерпевает текущий список, однако, не обязательно «видимы» посредством курсора и могут приводить к неопределенным результатам

ListIterator listIterator() – возвращает объект ListIterator, который позволяет осуществлять пошаговое перемещение по списку, начиная с элемента с индексом 0

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Интерфейс Iterator

12• Позволяет работать с коллекцией как с набором элементов

Получать следующий объект Object next()

Проверять наличие следующего объекта boolean hasNext()

Исключать объект из коллекции void remove()

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Интерфейс Map

13• Не расширяет интерфейс Collection

Подразумевает хранение набора объектов парами ключ/значение

Ключи должны быть уникальными

Порядок следования пар ключ/значение не определен

Имеет расширение SortedMap, требующее упорядоченности по значениям ключей

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Методы интерфейса Map

14 Добавление объектов

Object put(Object key, Object value) – устанавливает

соответствие между объектом-ключом key и объектом- значением value в текущей коллекции. Если коллекция уже

содержит значение, соответствующее key, значение

возвращается и заменяется в коллекции содержимым параметра value. Если в коллекции нет пары key/value, та

помещается в коллекцию и возвращается null; метод может вернуть null и в том случае, если ключ key прежде существовал и ссылался на значение null

void putAll(Map t) – помещает в коллекцию содержимое

другой коллекции t

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Методы интерфейса Map

15 Исключение объектов

Object remove(Object key) – удаляет из коллекции соответствие для заданного ключа key. Возвращаемое значение обладает той же семантикой, что и в случае метода put()

void clear() – очищает коллекцию, удаляя из нее все пары соответствий

Состояние

boolean containsValue(Object value) – возвращает true, если коллекция содержит по меньшей мере один экземпляр заданного значения value

boolean containsKey(Object key) – возвращает true, если коллекция содержит значение для заданного ключа key

int size() – возвращает размер коллекции соответствий, т.е. количество хранящихся в ней пар ключ/значение. Возвращаемое значение ограничено сверху величиной Integer.MAX_VALUE – даже в том случае, если в коллекции хранится большее число элементов-пар

boolean isEmpty() – возвращает true, если коллекция пуста

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Методы интерфейса Map

16 Доступ к объекту по ключу

Object get(Object key) – возвращает объект-значение, которому соответствует заданный ключ key, либо null, если соответствие не найдено; null также может быть возвращено в случае, если коллекция допускает хранение значений null и ключ key явно указывает на null

Преобразование типа

Set entrySet() – возвращает объект Set, элементами которого служат объекты типа Map.Entry, представляющие отдельные пары соответствий текущей коллекции. Map.Entry

– это вложенный интерфейс, обдадающий методами, которые позволяют манипулировать парами соотвествий

Set keySet() – возвращает объект Set, элементами которого служат ключи текущей коллекции соответствий

Collection values() – возвращает объект Collection, элементами которого служат значения текущей коллекции соответствий

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Классы коллекций

17 Динамические массивы

ArrayList (List) – позволяет хранить элементы списка в виде массива изменяемого размера

Vector (List) – относится к числу устаревших, является прямым аналогом ArrayList

Двухсвязный список

LinkedList (List) – обеспечивает реализацию двусвязного списка

Упорядоченные множество и карта

TreeSet (Set) – обеспечивает хранение элементов в структуре данных сбалансированного бинарного дерева

TreeMap (Map) – реализует интерфейс Map и обеспечивает хранение ключей в упорядоченном виде теми же способами, которые предусмотрены классом TreeSet

Ряд других классов

HashMap (Map) – реализует интерфейс Map на основе модели хеш-таблицы

HashSet (Set) – представляет собой реализацию интерфейса Set, основанную на использовании хеш-таблицы

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Класс Collections

18В его составе определен целый ряд статических методов прикладного назначения, позволяющих оперировать объектами коллекций

Инструменты класса можно условно поделить на две обширные группы: методы, обеспечивающие создание и поддержку объектов оберток (оболочек) коллекций, и прочие методы

Обертка дает возможность дополнить свойства «внутреннего» объекта-коллекции – синхронизировать доступ к нему или запретить использование тех методов объекта, которые изменяют содержимое коллекции

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Синхронизированные обертки

19• Объект синхронизированной обертки активизирует методы

«внутренней» коллекции только после выполнения

необходимых действий по синхронизации доступа к ее содержимому

Чтобы получить объект синхронизированной обертки,

следует передать ссылку на объект коллекции одному из статических методов класса Collections: synchronizedCollection(), synchronizedSet(), synchronizedSortedSet(), synchronizedList(), synchronizedMap() или synchronizedSortedMap()

Каждый из перечисленных методов возвращает объект

обертки коллекции соответствующего типа, методы

которого полностью синхронизированы, что гарантирует

безопасность их использования в многопоточной среде

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Неизменяемые обертки

20• В составе класса Collections имеются статические методы, возвращающие для заданных объектов коллекций неизменяемые обертки:

unmodifiableCollection(), unmodifiableSet(), unmodifiableSortedSet(), unmodifiableList(), unmodifiableMap(), unmodifiableSortedMap()

Объекты-обертки названных типов свободно «пропускают» обращенные к «внутренней» коллекции вызовы методов, которые не изменяют ее содержимого, но активизация любого из методов, предполагающих воздействие на содержимое, приводит к выбрасыванию исключения UnsupportedOperationException

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2013

Соседние файлы в папке Haulmont-презентации Java