Для организации такой совместной работы добавлены следующие методы:
□ Object takeFirst() — возвращает и удаляет первый элемент, ожидая поступления элемента, если дек пуст. Эквивалентен методу take () интерфейса BlockingQueue;
□ Obj ect takeLast () — возвращает и удаляет последний элемент, ожидая поступления элемента, если дек пуст;
□ void putFirst(Object element) - вставляет элемент element в начало дека, ожидая
уменьшения дека, если он переполнен. Эквивалентен методу put() интерфейса
BlockingQueue;
□ void putLast (Obj ect element) - вставляет элемент element в конец дека, ожидая
уменьшения дека, если он переполнен.
Интерфейс Map
Интерфейс Map из пакета java.util описывает своеобразную коллекцию, состоящую не из элементов, а из пар "ключ — значение". У каждого ключа может быть только одно значение, что соответствует математическому понятию однозначной функции, или отображения (map).
Такую коллекцию часто называют еще словарем (dictionary) или ассоциативным массивом (associative array).
Обычный массив — простейший пример словаря с заранее заданным числом элементов. Это отображение множества первых неотрицательных целых чисел на множество элементов массива, множество пар "индекс массива — элемент массива".
Класс Hashtable — одна из реализаций интерфейса Map.
Интерфейс Map содержит методы, работающие с ключами и значениями:
□ boolean containsKey(Object key) — проверяет наличие ключа key;
□ boolean containsValue(Object value) — проверяет наличие значения value;
□ Set entrySet () — представляет коллекцию в виде множества с элементами в виде пар из данного отображения, с которыми можно работать методами вложенного интерфейса Map.Entry;
□ Object get (Object key) -возвращает значение, отвечающее ключу key;
□ Set keyset () — представляет ключи коллекции в виде множества;
□ Object put(Object key, Object value) — добавляет пару "key — value", если такой пары не было, и заменяет значение ключа key, если такой ключ уже есть в коллекции;
□ void putAll (Map m) — добавляет к коллекции все пары из отображения m;
□ Collection values () — представляет все значения в виде коллекции.
В интерфейс Map вложен интерфейс Map.Entry, содержащий методы работы с отдельной парой отображения.
Вложенный интерфейс Map.Entry
Этот интерфейс описывает методы работы с парами, полученными методом entrySet ():
□ методы getKey () и getValue () позволяют получить ключ и значение пары;
□ метод setvalue(Object value) меняет значение в данной паре.
Интерфейс SortedMap
Интерфейс SortedMap, расширяющий интерфейс Map, описывает упорядоченную по ключам коллекцию Map. Сортировка производится либо в естественном порядке возрастания ключей, либо в порядке, описываемом в интерфейсе Comparator.
Элементы не нумеруются, но есть понятия большего и меньшего из двух элементов, первого, самого маленького, и последнего, самого большого элемента коллекции. Эти понятия описываются следующими методами, возвращающими:
□ Comparator comparator ( ) -способ упорядочения коллекции;
□ Object firstKey () — первый, меньший элемент коллекции;
□ SortedMap headMap(Object toKey) - начало коллекции до элемента с ключом toKey ис
ключительно;
□ Object lastKey() — последний, больший ключ коллекции;
□ SortedMap subMap(Object fromKey, Object toKey) — часть коллекции от элемента с ключом fromKey включительно до элемента с ключом toKey исключительно;
□ SortedMap tailMap(Object fromKey) - остаток коллекции, начинающийся от элемента
fromKey включительно.
Интерфейс NavigableMap
Интерфейс NavigableMap из пакета java.util, расширяющий интерфейс SortedMap, описывает отсортированное по ключам отображение, в котором можно организовать бинарный поиск.
Чтобы осуществить это, в интерфейсе описаны методы, позволяющие для каждой данной пары из отображения получить ссылки на меньшую и большую ее пары или на ключ такой пары. Они возвращают null, если ключ не удалось найти:
□ Map lowerEntry(Obj ect key) — возвращает ссылку на наибольшую пару отображения с ключом, меньшим данного ключа key;
□ Object lowerKey(Object key) — возвращает ссылку на наибольший ключ отображения, меньший данного ключа key;
□ Map floorEntry(Obj ect key) — возвращает ссылку на наибольшую пару отображения с ключом, меньшим или равным данному ключу key;
□ Object floorKey(Object key) — возвращает ссылку на наибольший ключ отображения, меньший или равный данному ключу key;
Читать дальше
Конец ознакомительного отрывка
Купить книгу