Классы, создающие отображения. Упорядоченные отображения.
Класс например полностью реализует интерфейс Map, а также итератор типа iterator. Класс HashMap очень похож на класс Hashtabie и может использоваться в тех же ситуациях. Он имеет тот же набор функций и такие же конструкторы:
- HashMap () – создает пустой объект с показателем загруженности 0.75;
- НаshМар(int.capacity) – создает пустой объект с начальной емкостью capacity и показателем загруженности 0.75;
- HashMap (int capacity, float loadFactor) – создает пустой объект с начальной емкостью capacity и показателем загруженности loadFactor;
- HashMap (Map f) – создает объект класса HashMap, содержащий все элементы отображения f, с емкостью, равной удвоенному числу элементов отображения f, но не менее 11, и показателем загруженности 0.75.
Класс WeakHashMap отличается от класса HashMap только тем, что в его объектах неиспользуемые элементы, на которые никто не ссылается, автоматически исключаются из объекта.
Упорядоченные отображения
Класс ТгееМар полностью реализует интерфейс sortedMap. Он реализован как бинарное дерево поиска, значит его элементы хранятся в упорядоченном виде. Это значительно ускоряет поиск нужного элемента.
Порядок задается либо естественным следованием элементов, либо объектом, реализующим интерфейс сравнения Comparator.
В этом классе четыре конструктора:
- ТгееМар () – создает пустой объект с естественным порядком элементов;
- TreeМар (Comparator с) – создает пустой объект, в котором порядок задается объектом сравнения с;
- ТгееМар (Map f) – создает объект, содержащий все элементы отображения f, с естественным порядком 'его элементов;
- ТгееМар (SortedMap sf) – создает объект, содержащий все элементы отображения sf, в том же порядке.
Здесь надо пояснить, каким образом можно задать упорядоченность элементов коллекции.