Ольга Ивановна Гуськова - Объектно-ориентированное программирование в Java : учебное пособие
Название: | Объектно-ориентированное программирование в Java : учебное пособие | |
Автор: | Ольга Ивановна Гуськова | |
Жанр: | Учебники и самоучители по компьютеру, Объектно-ориентированное программирование, Java, Java Script | |
Изадано в серии: | неизвестно | |
Издательство: | МПГУ | |
Год издания: | 2018 | |
ISBN: | 978-5-4263-0648-6 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Объектно-ориентированное программирование в Java : учебное пособие"
Учебное пособие посвящено объектно-ориентированному программированию на языке Java. Рассматриваются основные принципы объектно-ориентированного программирования, средства работы со структурами данных – коллекции и дженерики, принципы объектно-ориентированного дизайна.
Читаем онлайн "Объектно-ориентированное программирование в Java : учебное пособие". [Страница - 28]
(таких, как StringBuilder)
Пример использования усовершенствованного цикла for
для «немутирующих» (неизменяющихся) объектов, таких
как String
154
7. КОЛЛЕКЦИИ
7.6. Интерфейс Collection и его подинтерфейсы List,
Set, Queue
Интерфейс Collection, который принимает в качестве параметра дженерик типа E (читается как «коллекция элементов
типа E), является корневым интерфейсом фреймворка «Коллекции».
Он определяет общее поведение для всех классов, например, устанавливает, как добавить или удалить элемент посредством следующих абстрактных методов:
155
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Возможна ли коллекция из элементов базовых типов?
Collection не может состоять из элементов базовых типов, таких, например, как int или double. Значения базовых типов должны быть заключены в оболочки объектов (с использо156
7. КОЛЛЕКЦИИ
ванием соответствующих классов-оболочек, таких, например,
как Integer и Double). В JDK 1.5 введены автобоксинг и автоанбоксинг для упрощения процессов автоупаковки и автораспаковки.
См. примеры раздела 7.3 «Автобоксинг и автоанбоксинг...».
На практике обычно программируют на уровне подинтерфейсов
интерфейса Collection: List, Set или Queue, которые имеют следующие спецификации:
• List – список – моделирует массив изменяемого размера,
для которого разрешается доступ по индексу. Список может
содержать повторяющиеся элементы. Часто используемые реализации списка List – это ArrayList, LinkedList, Vector и Stack.
• Set – множество – моделирует математическое множество,
повторяющиеся элементы недопустимы. Часто используемые
реализации подинтерфейса Set – это HashSet и LinkedHashSet.
Подинтерфейс SortedSet моделирует упорядоченное и отсортированное множество элементов, реализованное TreeSet.
• Queue – очередь – моделирует очереди, организованные
по принципу First-in-First-out (FIFO) – «первым вошел – первым вышел». Подинтерфейс Deque моделирует очереди,
с которыми можно работать с двух концов. Реализации включают PriorityQueue, ArrayDeque и LinkedList.
Подробности этих подинтерфейсов и их реализации рассмотрим
далее.
7.7. Интерфейс Map
Интерфейс Map, который принимает два дженерика типов K и V (читается как «Карта ключа типа K и значения типа V»),
используется как коллекция «ключ-значение». Никакие повторяющиеся ключи не разрешены. Часто используемые реализации
включают HashMap, Hashtable и LinkedHashMap. Их подинтерфейс
SortedMap моделирует упорядоченную и отсортированную
карту на основании ключа, реализованного в TreeMap.
157
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Обратите внимание, что Map не является подинтерфейсом
Collection, поскольку подразумевает использование пары объектов для каждого элемента. Подробности рассмотрим далее в разделе 7.12.
7.8. Интерфейс List и его реализации
На практике принято программировать на уровне одного
из подинтерфейсов коллекции – List, Set или Queue, вместо того
чтобы программировать на уровне суперинтерфейса Collection.
Эти подинтерфейсы в дальнейшем совершенствуют поведение
коллекции.
List – список – моделирует одномерный массив с изменяемой размерностью (структуру данных «список»), поддерживается доступ по индексу. Элементы в списке могут удаляться или добавляться по конкретному индексу в соответствии со значением
переменной int index. Список может содержать повторяющиеся
элементы, может также содержать null элементы. В списке можно
осуществлять поиск, проходя последовательно по его элементам
и совершать операции над переменными выбранного диапазона
значений.
Списки являются наиболее часто используемыми структурами
данных.
Интерфейс List объявляет следующие абстрактные методы,
помимо суперинтерфейсов (см. рис. 7.3).
Поскольку список List имеет индекс, то такие операции, как add(),
remove(), set(), могут быть применены к элементу, находящемуся
на указанной позиции.
158
7. КОЛЛЕКЦИИ
Рис. 7.3. Интерфейсы List и его реализации
159
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Абстрактный суперкласс AbstractList обеспечивает реализацию для многих абстрактных методов, объявленных в интерфейсах List, Collection, и Iterable. Однако некоторые методы, например,
как get(int index), остаются абстрактными. Эти методы будут реализованы в конкретных подклассах, таких как ArrayList и Vector.
Классы реализаций ArrayList и Vector для интерфейса List
Класс ArrayList является самой лучшей реализацией интерфейса List – массива с изменяющимся размером. --">
Пример использования усовершенствованного цикла for
для «немутирующих» (неизменяющихся) объектов, таких
как String
154
7. КОЛЛЕКЦИИ
7.6. Интерфейс Collection и его подинтерфейсы List,
Set, Queue
Интерфейс Collection, который принимает в качестве параметра дженерик типа E (читается как «коллекция элементов
типа E), является корневым интерфейсом фреймворка «Коллекции».
Он определяет общее поведение для всех классов, например, устанавливает, как добавить или удалить элемент посредством следующих абстрактных методов:
155
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Возможна ли коллекция из элементов базовых типов?
Collection не может состоять из элементов базовых типов, таких, например, как int или double. Значения базовых типов должны быть заключены в оболочки объектов (с использо156
7. КОЛЛЕКЦИИ
ванием соответствующих классов-оболочек, таких, например,
как Integer и Double). В JDK 1.5 введены автобоксинг и автоанбоксинг для упрощения процессов автоупаковки и автораспаковки.
См. примеры раздела 7.3 «Автобоксинг и автоанбоксинг...».
На практике обычно программируют на уровне подинтерфейсов
интерфейса Collection: List, Set или Queue, которые имеют следующие спецификации:
• List – список – моделирует массив изменяемого размера,
для которого разрешается доступ по индексу. Список может
содержать повторяющиеся элементы. Часто используемые реализации списка List – это ArrayList, LinkedList, Vector и Stack.
• Set – множество – моделирует математическое множество,
повторяющиеся элементы недопустимы. Часто используемые
реализации подинтерфейса Set – это HashSet и LinkedHashSet.
Подинтерфейс SortedSet моделирует упорядоченное и отсортированное множество элементов, реализованное TreeSet.
• Queue – очередь – моделирует очереди, организованные
по принципу First-in-First-out (FIFO) – «первым вошел – первым вышел». Подинтерфейс Deque моделирует очереди,
с которыми можно работать с двух концов. Реализации включают PriorityQueue, ArrayDeque и LinkedList.
Подробности этих подинтерфейсов и их реализации рассмотрим
далее.
7.7. Интерфейс Map
Интерфейс Map, который принимает два дженерика типов K и V (читается как «Карта ключа типа K и значения типа V»),
используется как коллекция «ключ-значение». Никакие повторяющиеся ключи не разрешены. Часто используемые реализации
включают HashMap, Hashtable и LinkedHashMap. Их подинтерфейс
SortedMap моделирует упорядоченную и отсортированную
карту на основании ключа, реализованного в TreeMap.
157
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Обратите внимание, что Map не является подинтерфейсом
Collection, поскольку подразумевает использование пары объектов для каждого элемента. Подробности рассмотрим далее в разделе 7.12.
7.8. Интерфейс List и его реализации
На практике принято программировать на уровне одного
из подинтерфейсов коллекции – List, Set или Queue, вместо того
чтобы программировать на уровне суперинтерфейса Collection.
Эти подинтерфейсы в дальнейшем совершенствуют поведение
коллекции.
List – список – моделирует одномерный массив с изменяемой размерностью (структуру данных «список»), поддерживается доступ по индексу. Элементы в списке могут удаляться или добавляться по конкретному индексу в соответствии со значением
переменной int index. Список может содержать повторяющиеся
элементы, может также содержать null элементы. В списке можно
осуществлять поиск, проходя последовательно по его элементам
и совершать операции над переменными выбранного диапазона
значений.
Списки являются наиболее часто используемыми структурами
данных.
Интерфейс List объявляет следующие абстрактные методы,
помимо суперинтерфейсов (см. рис. 7.3).
Поскольку список List имеет индекс, то такие операции, как add(),
remove(), set(), могут быть применены к элементу, находящемуся
на указанной позиции.
158
7. КОЛЛЕКЦИИ
Рис. 7.3. Интерфейсы List и его реализации
159
О. И. ГУСЬКОВА. ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В JAVA
Абстрактный суперкласс AbstractList обеспечивает реализацию для многих абстрактных методов, объявленных в интерфейсах List, Collection, и Iterable. Однако некоторые методы, например,
как get(int index), остаются абстрактными. Эти методы будут реализованы в конкретных подклассах, таких как ArrayList и Vector.
Классы реализаций ArrayList и Vector для интерфейса List
Класс ArrayList является самой лучшей реализацией интерфейса List – массива с изменяющимся размером. --">
Книги схожие с «Объектно-ориентированное программирование в Java : учебное пособие» по жанру, серии, автору или названию:
Леонид Нахимович Ясницкий - Искусственный интеллект. Элективный курс: учебное пособие Жанр: Учебники и самоучители по компьютеру Год издания: 2011 |
Сергей Александрович Нестеров - Основы информационной безопасности: Учебное пособие Жанр: Учебники и самоучители по компьютеру Год издания: 2022 Серия: Учебники для вузов. Специальная литература |