Коллекции объектов Java

Коллекции объектов языка JavaОграниченное количество объектов с фиксированным временем жизни встречается разве что в самых простых программах. В основном ваши программы на Java будут создавать новые объекты, основываясь на таких критериях, которые станут известны лишь во время их работы. До того как программа начнет выполняться, вы обычно не знаете ни количества, ни даже типов нужных вам объектов. А для решения задач программирования в общем вам понадобится создавать неограниченное их число, когда угодно и где угодно. Нельзя рассчитывать, что для каждого из возможных объектов можно будет завести отдельную ссылку:

HyObject myReference;

Вы ведь не знаете заранее, сколько таких ссылок потребуется.

Большинство языков обеспечивают некоторые пути решения такой чрезвычайно на­сущной задачи. В Java имеется несколько способов хранения объектов (или, точнее, ссылок на объекты). На уровне компилятора поддерживаются массивы, которые уже рассматривались ранее. Массив обеспечивает самый эффективный способ хранения групп объектов и является первым кандидатом при хранении группы примитивов. Однако массив имеет фиксированный размер, а в общем случае во время написания программы разработчик может не знать точное количество объектов или же ему могут понадобиться более эффективные способы хранения объектов — в таких ситуациях ограничение фиксированного размера создает слишком много проблем.

Библиотека утилит Java (java.util.*) также содержит достаточно полный набор классов контейнеров, важнейшими из которых являются List, Set, Queue и Map. Эти типы объек­тов также называются классами коллекций, но поскольку имя Collection используется для обозначения определенного подмножества библиотеки, я буду употреблять общий термин «контейнер». Контейнеры предоставляют весьма изощренные и разнообразные средства для хранения объектов и работы с ними, с помощью которых можно решить множество задач.

Классы контейнеров Java помимо прочих характеристик (например, Set не содержит дубликатов, а Мар представляет собой ассоциативный массив, который позволяет свя­зывать объекты с другими объектами) способны автоматически изменяться в размерах.

Таким образом, в отличие от массивов, в класс можно поместить любое количество объектов, не беспокоясь о размере контейнера во время написания программы.

И хотя классы контейнеров не имеют прямой поддержки на уровне Java, это важнейший инструмент, который значительно повысит вашу квалифика­цию программиста. В последующих моих блогах вы получите практические навыки использования библиотеки контейнеров Java, причем особое внимание будет уделяться типичным примерам использования. Мы сосредоточимся на контейнерах, которые вы будете использовать в своей повседневной работе.

Вас заинтересует / Intresting for you:

Грамотное использование assert...
Грамотное использование assert... 25899 просмотров Андрей Волков Tue, 23 Oct 2018, 04:56:31
Бизнес-компоненты ядра в совре...
Бизнес-компоненты ядра в совре... 3053 просмотров Валерий Павлюков Fri, 25 Jan 2019, 17:00:48
Компиляция и запуск кода на C+...
Компиляция и запуск кода на C+... 4322 просмотров gabrielantonio Sun, 07 Oct 2018, 09:27:57
Изучение языка Java для програ...
Изучение языка Java для програ... 1800 просмотров Илья Дергунов Sun, 04 Nov 2018, 17:22:25
Печать
Войдите чтобы комментировать