Это первая статья из цикла, составляющего небольшой tutorial по коллекциям в Java. Здесь, я попробую дать представление, что это такое и для чего это нужно.
Для общего понимания, можно сказать, что коллекции - это что то, похожее на массив, но они могут динамически менять свой размер, а также имеют более расширенную функциональность.
Коллекция (или же контейнер) - это объект, который группирует другие объекты в единое целое. Коллекции используются для хранения, поиска и обработки данных, которые в ней находятся, а также представляют возможность обращения к ним.
Рассмотрим детальней Collections в Java
Большинство коллекций Java находятся в пакете java.util. Java также имеет множество конкурентных (потокобезопасных) коллекций в пакете java.util.concurrent. (этот материал выходит за рамки данной статьи, и будет опубликован в будущем)Что такое Collections Framework ?
Это универсальная архитектура для представления и управления коллекциями. В ее состав входит следующее:- Интерфейсы - это абстрактные типы данных, которые представляют коллекции. Интерфейсы позволяют манипулировать коллекциями независимо от деталей их реализации.
- Имплементация - это конкретная реализация коллекции.
- Алгоритмы - это методы, которые выполняют полезные вычисления, такие как поиск и сортировка, на объектах, которые реализуют интерфейсы коллекций.
Базовые интерфейсы коллекций.
Выделяют две группы: Collection и Map. Оба этих интерфейса входят в состав Collection Framework. О них пойдет речь ниже.
На схеме графическое представление иерархии интерфейсов коллекций
![]() |
Java Collections |
Итератор
Iterable<E> - один из базовых интерфейсов коллекций. Интерфейс Collection<E> наследуется от него.
Этот интерфейс предоставляет возможность использовать коллекции в for each цикле
Ниже приведен пример кода:
List list = new ArrayList(); for(Object o : list){ //выполняем действия с объектом о; }
Сам интерфейс Itarable возвращает нам интерфейс Iterator который реализует одноименный шаблон проектирования
Выгладит он следующим образом:
public interface Iterable{ public Iterator iterator(); }
Collection
java.util.Collection - корневой интерфейс коллекций. Его реализует и используют все коллекции (кроме Map, который имеют свою иерархию). Некоторые коллекции позволяют дублировать элементы, некоторые имеют порядок, а некоторые нет. Collection определяет общий набор операций для всех реализаций коллекций. Он используется как тип данных для передачи, манипулирования и обозначения типа коллекции, когда необходимо максимально абстрагировать данные.
Следующие интерфейсы наследуются от Collection:
- List - упорядоченная коллекция, элементы которой могут повторятся
- Set - коллекция, которая не допускает дублирования элементов
- Queue - реализация абстрактного типа данных, которая кроме основных операций Collection позволяет вставлять, удалять и просматривать элементы
- Deque - двусвязная очередь элементы в которой можно добавлять/удалять как в начало так и в конец
Map
java.util.Map - это объект который мапит (связывает) ключи с значением. В мапе не могут содержатся дубликаты ключей. Она предоставляет базовые операции : вставка (put), получение элемента (get), удаление (remove), проверить есть ли ключ (containsKey), есть ли значение (containsValue), размер (size), и есть ли элементы в мапе (empty).
Так же мапа позволяет получить нам коллекции всех ее ключей или значений.
В следующих статьях будут детально рассмотрены каждый из интерфейсов и его имплементации.
Использованные в статье материалы:
http://tutorials.jenkov.com/java-collections/index.htmlhttps://docs.oracle.com/javase/tutorial/collections/TOC.html
Комментариев нет:
Отправить комментарий