Java from EPAM : учебно-методическое пособие [Игорь Николаевич Блинов] (pdf) читать постранично, страница - 45
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
может быть доступен из различных потоков, что наиболее естественно для распределенных приложений, возможно использование коллекции из Java 1.
320
КОЛЛЕКЦИИ И STREAM API
В Java 5 в новом пакете java.util.concurrent появились ограниченно потокобезопасные коллекции, гарантирующие более высокую производительность
в многопоточной среде для конкурирующих потоков.
Так как в коллекциях при практическом программировании хранится набор
ссылок на объекты одного типа, следует обезопасить коллекцию от появления
ссылок на другие, не разрешенные логикой приложения типы. Такие ошибки
при использовании нетипизированных коллекций выявляются на стадии выполнения, что повышает трудозатраты на исправление и верификацию кода. Поэтому,
начиная с версии Java SE 5, коллекции стали типизированными или generic.
Более удобным стал механизм работы с коллекциями, а именно:
• предварительное сообщение компилятору о типе ссылок, которые будут храниться в коллекции, при этом проверка осуществляется на этапе компиляции;
• отсутствие необходимости постоянно преобразовывать возвращаемые по
ссылке объекты (тип Object) к требуемому типу.
Структура коллекций характеризует способ, с помощью которого программы Java обрабатывают группы объектов. Так как Object — суперкласс для всех
классов, то в коллекции можно хранить объекты любого типа, кроме базовых.
Коллекции — это динамические массивы, связные списки, деревья, множества, хэш-таблицы, стеки, очереди.
Интерфейсы коллекций:
Map — карта отображения вида «ключ-значение»;
Collection — основной интерфейс коллекций, вершина иерархии коллекций List, Set. Также наследует интерфейс Iterable;
List — специализирует коллекции для обработки упорядоченного набора элементов;
Set — множество, содержащее уникальные элементы;
Queue — очередь, где элементы добавляются в один конец списка, а извлекаются из другого конца.
Все классы коллекций реализуют интерфейсы Serializable, Cloneable (кроме WeakHashMap).
«interface»
Set
«interface»
Collection
«interface»
Map
«interface»
List
«interface»
Queue
Рис. 11.1. Базовая иерархия коллекций
«interface»
Deque
321
JAVA FROM EPAM
В интерфейсе Collection определены методы, которые работают на всех
коллекциях:
boolean add(E obj) — добавляет obj к вызывающей коллекции и возвращает
true, если объект добавлен, и false, если obj уже элемент коллекции;
boolean remove(Object obj) — удаляет obj из коллекции;
boolean addAll(Collection
Последние комментарии
4 часов 36 минут назад
1 день 16 часов назад
2 дней 14 минут назад
2 дней 15 часов назад
2 дней 18 часов назад
2 дней 19 часов назад