Ильдар Хабибуллин - Java 7 [Наиболее полное руководство]
- Название:Java 7 [Наиболее полное руководство]
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2012
- ISBN:978-5-9775-0735-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Ильдар Хабибуллин - Java 7 [Наиболее полное руководство] краткое содержание
Java 7 [Наиболее полное руководство] - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
□ int drainTo(Collection coll, int num) — удаляет по крайней мере num элементов из очереди, переписывая их в коллекцию coll, и возвращает их фактическое количество;
□ int drainTo(Collection coll) — удаляет все доступные элементы из очереди, переписывая их в коллекцию coll и возвращая их количество.
Интерфейс Deque
Интерфейс Deque (double ended queue) из пакета java.util, расширяющий интерфейс Queue, описывает методы работы с разновидностью очередей, называемой деком, у которого элементы вставляются и удаляются с обоих концов.
Интерфейс Deque добавляет к методам интерфейса Queue методы, характерные для дека:
□ Object getFirst () — возвращает первый элемент дека, не удаляя его из дека. Эквивалентен методу element () интерфейса Queue. Метод выбрасывает исключение, если дек пуст;
□ Object getLast () — возвращает последний элемент дека, не удаляя его из дека. Метод выбрасывает исключение, если дек пуст;
□ Object peekFirst () — возвращает первый элемент дека, не удаляя его. Эквивалентен методу peek () интерфейса Queue. Не выбрасывает исключение;
□ Object peekLast () — возвращает последний элемент дека, не удаляя его. Не выбрасывает исключение;
□ void addFirst(Object obj) — вставляет элемент в начало дека;
□ void addLast (Obj ect obj) — вставляет элемент в конец дека. Эквивалентен методу add () интерфейса Collection;
□ boolean offerFirst (Object obj ) - вставляет элемент в начало дека и возвращает true,
если вставка удалась;
□ boolean offerLast(Object obj) - вставляет элемент в конец дека и возвращает true,
если вставка удалась. Эквивалентен методу offer() интерфейса Queue;
□ Object removeFirst() — возвращает первый элемент дека и удаляет его из дека. Эквивалентен методу remove () интерфейса Queue. Метод выбрасывает исключение, если дек пуст;
□ Object removeLast() — возвращает последний элемент дека и удаляет его из дека. Метод выбрасывает исключение, если дек пуст;
□ Object pollFirst () — возвращает первый элемент дека и удаляет его из дека. Эквивалентен методу poll () интерфейса Queue. В отличие от метода removeFirst ( ) не выбрасывает исключение;
□ Object pollLast() — возвращает последний элемент дека и удаляет его из дека. В отличие от метода removeLast () не выбрасывает исключение;
□ boolean removeFirstOccurrence(Object obj) — удаляет первый встретившийся элемент obj дека и возвращает true, если удалось это сделать. Метод выбрасывает исключение, если дек пуст;
□ boolean removeLastOccurrence(Object obj) — удаляет последний встретившийся элемент obj из дека и возвращает true, если удалось это сделать. Метод выбрасывает исключение, если дек пуст.
Интерфейс BlockingDeque
Интерфейс BlockingQueue из пакета java.util.concurrent, расширяющий интерфейсы Queue
и Deque, описывает дек, с которым работают одновременно несколько подпроцессов,
вставляющих и удаляющих элементы. Их работа организуется таким образом, чтобы
подпроцесс, пытающийся забрать элемент из пустого дека, ждал, когда другой подпро-
цесс занесет в него хотя бы один элемент. Подпроцесс, вставляющий элемент в дек, ждет, когда для него освободится место, если дек уже переполнен.
Для организации такой совместной работы добавлены следующие методы:
□ 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, содержащий методы работы с отдельной парой отображения.
Этот интерфейс описывает методы работы с парами, полученными методом entrySet ():
□ методы getKey () и getValue () позволяют получить ключ и значение пары;
□ метод setvalue(Object value) меняет значение в данной паре.
Интерфейс 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) - остаток коллекции, начинающийся от элемента
Читать дальшеИнтервал:
Закладка: