Интерфейс Map
Интерфейс Map из пакета java.utii описывает коллекцию, состоящую из пар «ключ — значение». У каждого ключа только одно значение, что соответствует математическому понятию однозначной функции или отображения (тар).
Такую коллекцию часто называют еще словарем (dictionary) или ассоциативным массивом (associative array).
Обычный массив — простейший пример словаря с заранее заданным числом элементов. Это отображение множества первых неотрицательных целых чисел на множество элементов массива, множество пар «индекс массива ^-элемент массива».
Класс HashTable — одна из реализаций интерфейса мар.
Интерфейс 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 putAii (Map m) — добавляет к коллекции все пары из отображения m;
collection values () — представляет все значения в виде коллекции.
В интерфейс мар вложен интерфейс Map.Entry , содержащий методы работы с отдельной парой.
Вложенный интерфейс Map.Entry
Этот интерфейс описывает методы работы с парами, полученными методом entrySet():
методы g etKey() и getvaiue() позволяют получить ключ и значение пары; метод setvaiue (object value) меняет значение в данной паре.
Интерфейс SortedMap
Интерфейс SortedMap , расширяющий интерфейс Map , описывает упорядоченную по ключам коллекцию мар. Сортировка производится либо в естественном порядке возрастания ключей, либо, в порядке, описываемом в интерфейсе Comparator .
Элементы не нумеруются, но есть понятия большего и меньшего из двух элементов, первого, самого маленького, и последнего, самого большого элемента коллекции. Эти понятия описываются следующими методами:
comparator comparator () — возвращает способ упорядочения коллекции;
object firstKey() — возвращает первый, меньший элемент коллекции;
SortedMap headMap(Object toKey) — возвращает начало коллекции до элемента с ключом toKey исключительно;
object lastKey() — возвращает последний, больший ключ коллекции;
SprtedMap subMap (Object fromKey, Object toKey) — возвращает часть коллекции от элемента с ключом fromKey включительно до элемента с ключом toKey исключительно;
SortedMap taiiMap (object fromKey) — возвращает остаток коллекции от элемента fromKey включительно.
Вы можете создать свои коллекции, реализовав рассмотренные интерфейсы. Это дело трудное, поскольку в интерфейсах много методов. Чтобы облегчить эту задачу, в Java API введены частичные реализации интерфейсов — абстрактные классы-коллекции.

