HashMap.mac

..\mac\extra\collections\HashMap.mac

Файл включает в себя реализацию классического интерфейса map через хэш-таблицу. Операции поиска, вставки и удаления осуществляются за O(1) в лучшем случае и O(n) в худшем, при неправильной подобранной хэш-функции.

См. также:

Импорты

Базовые классы и функции коллекций

Библиотека для динамического создания функций из строковых шаблонов

Реализованные функции-компараторы (compare и equals)

Реализация исключений и блоков try/catch/finally

Вспомогательные классы и функции для реализации ООП паттернов

Релизация функций для сортировки массива

Расширение стандартного класса TArray. Реализует всю базовую функциональность, за исключением переопределенного метода sort()

Полезные утилиты для работы со строковыми переменными

bankinter

rcw

rsexts

Известные зависимые

Библиотека коллекций для языка RSL

Объекты коллекторы

Библиотека вспомогательных классов и функций в ООП и функциональном стиле

Файл включает в себя реализацию классического интерфейса set, коллекцию уникальных значений

Файл включает в себя реализацию классов LinkedHashMap

Файл включает в себя реализацию LinkedHashSet - коллекции уникальных элементов с сохранением порядка добавления

Реализация Stream Api

Глобальные константы

Private const DEFAULT_INIT_CAPACITY = 256

Вместимость хэш-таблицы по умолчанию

Private const DEFAULT_LOAD_FACTOR = 0.1

Load Factor по умолчанию

Функции

macro IntHashMap (_InitialCapacity : Integer, _LoadFactor : Double) : HashMap

Создаёт и возращает HashMap для работы с ключами типа Integer

macro ObjectHashMap (_InitialCapacity : Integer, _LoadFactor : Double) : HashMap

Создаёт и возращает HashMap для работы с ключами объектного типа

macro StringHashMap (_InitialCapacity : Integer, _LoadFactor : Double) : HashMap

Создаёт и возращает HashMap для работы с ключами типа String

macro toLowPwr2 (cap : Integer) : Integer

Возвращает целое число ближайшее меньшее к cap, являющееся степенью 2

Классы

Class (Pair) HashMapEntry (k : Variant, v : Variant, _hash : Integer)

Класс узла хэш-таблицы

Class (MapInterface) HashMap ([_InitialCapacity : Integer], [_LoadFactor : Double])

Реализация коллекции элементов пары ключ-значении на основе хэш-таблицы

Private Class (IteratorInterface) HashIterator (_map)

Класс итератора HashMap

Private Class (HashIterator) ValueIterator (_map)

Класс итератора значений

Private Class (HashIterator) KeyIterator (_map)

Класс итератора ключей

Private Class (HashIterator) EntryIterator (_map)

Класс итератора узлов