🗊 Презентация Объектно-ориентированное программирование. Collections Framework. (Занятие 7)

Нажмите для полного просмотра!
Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №1 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №2 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №3 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №4 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №5 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №6 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №7 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №8 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №9 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №10 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №11 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №12 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №13 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №14 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №15 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №16 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №17 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №18 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №19 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №20 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №21 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №22 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №23 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №24 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №25 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №26 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №27 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №28 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №29 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №30 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №31 Объектно-ориентированное программирование. Collections Framework. (Занятие 7), слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Объектно-ориентированное программирование. Collections Framework. (Занятие 7). Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Collections Framework
Описание слайда:
Collections Framework

Слайд 2


План лекции Collection Framework Типы коллекций Параметризованные типы Параметризованные методы Автоупаковка/автораспаковка
Описание слайда:
План лекции Collection Framework Типы коллекций Параметризованные типы Параметризованные методы Автоупаковка/автораспаковка

Слайд 3


Коллекции Коллекции (контейнеры) – хранилища, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения...
Описание слайда:
Коллекции Коллекции (контейнеры) – хранилища, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения возможностей эффективного доступа к ним В Java коллекции разделены на интерфейсы, абстрагирующие общие принципы работы с коллекциями, и классы, реализующие конкретную функциональность Не все методы, заявленные в интерфейсах, должны в действительности реализовываться классами. Часть методов может просто выбрасывать исключение UnsupportedOperationException

Слайд 4


Интерфейс Collection Является образующим для интерфейсов коллекций Определяет базовую функциональность любой коллекции Подразумевает добавление,...
Описание слайда:
Интерфейс Collection Является образующим для интерфейсов коллекций Определяет базовую функциональность любой коллекции Подразумевает добавление, удаление, выбор элементов в коллекции Допускает дубликаты и пустые элементы

Слайд 5


Методы интерфейса Collection Добавление элементов boolean add(Object o), boolean addAll(Collection c) Исключение элементов boolean remove(Object o),...
Описание слайда:
Методы интерфейса Collection Добавление элементов boolean add(Object o), boolean addAll(Collection c) Исключение элементов boolean remove(Object o), boolean removeAll(Collection c), boolean retainAll(Collection c), void clear() Состояние коллекции boolean contains(Object o), boolean containsAll(Collection c), boolean isEmpty(), int size() Вспомогательные методы Object[] toArray(), Iterator iterator()

Слайд 6


Интерфейс Set Расширяет интерфейс Collection Не разрешает наличие дубликатов Допускается наличие только одной ссылки null Объекты коллекции должны...
Описание слайда:
Интерфейс Set Расширяет интерфейс Collection Не разрешает наличие дубликатов Допускается наличие только одной ссылки null Объекты коллекции должны корректно реализовывать метод equals()

Слайд 7


Интерфейс List Расширяет интерфейс Collection Подразумевает хранение упорядоченной последовательности объектов Порядок хранения определяется порядком...
Описание слайда:
Интерфейс List Расширяет интерфейс Collection Подразумевает хранение упорядоченной последовательности объектов Порядок хранения определяется порядком добавления элементов Позволяет обращаться к элементам по их номеру

Слайд 8


Специальные методы интерфейса List Адресное добавление void add(int index, Object o), boolean addAll(int index, Collection c) Адресные операции с...
Описание слайда:
Специальные методы интерфейса List Адресное добавление void add(int index, Object o), boolean addAll(int index, Collection c) Адресные операции с элементами Object get(int index), Object set(int index, Object o), Object remove(int index) Операции поиска int indexOf(Object o), int lastIndexOf(Object o) Специальные операции List subList(int from, int to), ListIterator listIterator()

Слайд 9


Интерфейс Iterator Позволяет работать с коллекцией как с набором (серией) элементов: Получать следующий объект Object next() Проверять наличие...
Описание слайда:
Интерфейс Iterator Позволяет работать с коллекцией как с набором (серией) элементов: Получать следующий объект Object next() Проверять наличие следующего объекта boolean hasNext() Исключать объект из коллекции void remove()

Слайд 10


Интерфейс Map Не расширяет интерфейс Collection Подразумевает хранение набора объектов парами ключ/значение Ключи должны быть уникальными Порядок...
Описание слайда:
Интерфейс Map Не расширяет интерфейс Collection Подразумевает хранение набора объектов парами ключ/значение Ключи должны быть уникальными Порядок следования пар ключ/значение не определен Имеет расширение SortedMap, требующее упорядоченности по значениям ключей

Слайд 11


Методы интерфейса Map Добавление объектов Object put(Object key, Object value), void putAll(Map t) Исключение объектов Object remove(Object key),...
Описание слайда:
Методы интерфейса Map Добавление объектов Object put(Object key, Object value), void putAll(Map t) Исключение объектов Object remove(Object key), void clear() Доступ к объекту по ключу Object get(Object key) Состояние boolean containsValue(Object value), boolean containsKey(Object key), int size(), boolean isEmpty() Преобразование типа Set entrySet(), Set keySet(), Collection values()

Слайд 12


Некоторые классы коллекций Динамические массивы ArrayList (List), Vector (List) Двухсвязный список LinkedList (List) Упорядоченные множество и карта...
Описание слайда:
Некоторые классы коллекций Динамические массивы ArrayList (List), Vector (List) Двухсвязный список LinkedList (List) Упорядоченные множество и карта TreeSet (Set), TreeMap (StoredMap) Ряд других классов HashMap (Map), HashSet (Set)

Слайд 13


Класс Collections Содержит ряд статических методов прикладного назначения, позволяющих оперировать объектами коллекций Группы методов: Создание и...
Описание слайда:
Класс Collections Содержит ряд статических методов прикладного назначения, позволяющих оперировать объектами коллекций Группы методов: Создание и поддержка оберток коллекций Прочие прикладные методы

Слайд 14


Обертки коллекций Синхронизированные Обеспечивают механизмы синхронизации доступа для многопоточных приложений List synchronizedList(List l), …...
Описание слайда:
Обертки коллекций Синхронизированные Обеспечивают механизмы синхронизации доступа для многопоточных приложений List synchronizedList(List l), … Неизменяемые Запрещают использование методов модификации значений Map unmodifiableMap(Map m), …

Слайд 15


Прикладные методы Методы поиска минимума и максимума min(), max() Работа со списками reverse(), shuffle(), fill(), copy(), nCopies() Сортировка...
Описание слайда:
Прикладные методы Методы поиска минимума и максимума min(), max() Работа со списками reverse(), shuffle(), fill(), copy(), nCopies() Сортировка списков sort() Поиск элементов в списке binarySearch() Прочие прикладные методы

Слайд 16


Обновленные коллекции (Java 5) Все интерфейсы коллекций стали параметризованными Включая итераторы! Все классы коллекций стали параметризованными...
Описание слайда:
Обновленные коллекции (Java 5) Все интерфейсы коллекций стали параметризованными Включая итераторы! Все классы коллекций стали параметризованными Обновился класс java.util.Collections Прежние методы модифицированы для работы с параметризованными типами Появились новые методы Появился новый тип оболочек (Checked), динамически обеспечивающих безопасность типов при работе с коллекцией

Слайд 17


Параметризованные типы Параметризованные типы (настраиваемые типы, generic types) Позволяют создавать классы, интерфейсы и методы, в которых тип...
Описание слайда:
Параметризованные типы Параметризованные типы (настраиваемые типы, generic types) Позволяют создавать классы, интерфейсы и методы, в которых тип обрабатываемых данных задается как параметр Позволяют создавать более компактный код, чем универсальные (обобщенные) типы, использующие ссылки типа Object Обеспечивают автоматическую проверку и приведение типов Позволяют создавать хороший, годный повторно используемый код

Слайд 18


Скромный пример Пример класса Пример использования
Описание слайда:
Скромный пример Пример класса Пример использования

Слайд 19


Особенности параметризованных типов Использовать примитивные типы в качестве параметров-типов нельзя Если одинаковые настраиваемые типы имеют...
Описание слайда:
Особенности параметризованных типов Использовать примитивные типы в качестве параметров-типов нельзя Если одинаковые настраиваемые типы имеют различные аргументы, то это различные типы Обеспечивается более жесткий контроль типов на стадии компиляции

Слайд 20


Общий синтаксис Объявление настраиваемого типа class имяКласса {...} Создание ссылки и объекта настраиваемого типа имяКласса имяПеременной = new...
Описание слайда:
Общий синтаксис Объявление настраиваемого типа class имяКласса {...} Создание ссылки и объекта настраиваемого типа имяКласса имяПеременной = new имяКласса(список-аргументов);

Слайд 21


Ограниченные типы Ограничение типа позволяет использовать у ссылок методы и поля, доступные в типе-ограничителе Типы, не наследующие от указанного,...
Описание слайда:
Ограниченные типы Ограничение типа позволяет использовать у ссылок методы и поля, доступные в типе-ограничителе Типы, не наследующие от указанного, не могут быть использованы при создании объектов Как имя типа может быть указан интерфейс!!! Как имя типа может быть указан ранее введенный параметр!!!

Слайд 22


Метасимвольный аргумент Что делать при передаче экземпляров параметризованных типов в методы, т.е. как писать сигнатуру? Для этого используется...
Описание слайда:
Метасимвольный аргумент Что делать при передаче экземпляров параметризованных типов в методы, т.е. как писать сигнатуру? Для этого используется метасимвол, обозначающий произвольный тип-параметр

Слайд 23


Метасимвол с ограничениями Ограничение сверху
Описание слайда:
Метасимвол с ограничениями Ограничение сверху

Слайд 24


Параметризованные методы Методы могут иметь собственные типы-параметры Фактические аргументы, передаваемые в формальные аргументы, имеющие...
Описание слайда:
Параметризованные методы Методы могут иметь собственные типы-параметры Фактические аргументы, передаваемые в формальные аргументы, имеющие тип-параметр, будут проверяться на соответствие типу, причем на этапе компиляции Пример метода Пример использования

Слайд 25


Ряд особенностей Конструкторы могут быть параметризованными (даже если сам класс таковым не является) Интерфейсы могут быть параметризованными Нельзя...
Описание слайда:
Ряд особенностей Конструкторы могут быть параметризованными (даже если сам класс таковым не является) Интерфейсы могут быть параметризованными Нельзя создавать объекты, используя типы-параметры Статические члены класса не могут использовать его типы-параметры Настраиваемый класс не может расширять класс Throwable От настраиваемых типов можно наследовать, есть ряд особенностей

Слайд 26


Ряд особенностей Нельзя создать массив типа-параметра Массивов элементов конкретной версии параметризованного типа не бывает
Описание слайда:
Ряд особенностей Нельзя создать массив типа-параметра Массивов элементов конкретной версии параметризованного типа не бывает

Слайд 27


И как же это работает? Механизм стирания В реальном байт-коде никаких настраиваемых типов в целом-то и нет… Информация о настраиваемых типах...
Описание слайда:
И как же это работает? Механизм стирания В реальном байт-коде никаких настраиваемых типов в целом-то и нет… Информация о настраиваемых типах удаляется на стадии компиляции Именно компилятор осуществляет контроль безопасности приведения типов А внутри после компиляции все те же «обобщенные» классы, явные приведения типов и прочее, и прочее…

Слайд 28


Ошибки неоднозначности «Логически правильный» код Оказывается неверным с точки зрения компилятора И это – самый простой пример…
Описание слайда:
Ошибки неоднозначности «Логически правильный» код Оказывается неверным с точки зрения компилятора И это – самый простой пример…

Слайд 29


Автоупаковка и автораспаковка Автоупаковка – процесс автоматической инкапсуляции данных простого типа в экземпляр соответствующего ему класса-обертки...
Описание слайда:
Автоупаковка и автораспаковка Автоупаковка – процесс автоматической инкапсуляции данных простого типа в экземпляр соответствующего ему класса-обертки в случаях, когда требуется значение ссылочного типа Автораспаковка – процесс автоматического извлечения примитивного значения из объекта-упаковки в случаях, когда требуется значение примитивного типа

Слайд 30


Особенности автоупаковки Происходит при присваивании, вычислении выражений и при передаче параметров Объекты создаются без использования ключевого...
Описание слайда:
Особенности автоупаковки Происходит при присваивании, вычислении выражений и при передаче параметров Объекты создаются без использования ключевого слова new Объекты создаются! Автоупаковка требует существенных ресурсов Злоупотреблять автоупаковкой вообще не стоит!

Слайд 31


Спасибо за внимание!
Описание слайда:
Спасибо за внимание!

Слайд 32


Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс»,...
Описание слайда:
Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с. Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с. Хорстманн, К. Java 2. Библиотека профессионала. Том 1. Основы [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 816 с. Хорстманн, К. Java 2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 992 с. Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с. JavaSE at a Glance [Электронный ресурс]. – Режим доступа: дата доступа: 21.10.2011. JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: дата доступа: 21.10.2011.



Похожие презентации
Mypresentation.ru
Загрузить презентацию