Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Qt.docx
Скачиваний:
9
Добавлен:
15.09.2019
Размер:
52.86 Кб
Скачать

Методы управления ассоциативными контейнерами:

contains()

возвращает true в случае, если контейнер содержит элемент с заданным ключом; в противном случае возвращает false

erase()

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

find()

осуществляет поиск элемента по значению; возвращает в случае успеха итератор, указывающий на этот элемент; в случае неудачи итератор указывает на “end()”

insertMulti()

вставляет в контейнер новый элемент; данный метод отсутствует в классе QSet()

key()

возвращает первый ключ в соответствии с переданным значением

keys()

возвращает все ключи, содержащиеся в контейнере

take()

удаляет элемент из контейнера в соответствии с переданным ключом и возвращает копию его значения; не работает в QSet()

unite()

добавляет элемент одного контейнера в другой

values()

возвращает список всех значений, находящихся в контейнере

Словари QMap и QMultiMap - в контейнеры этого типа заносятся элементы вместе с ключами, по которым их можно найти. Ключами могут быть значения любого типа. QMultiMap наследует QMap и ориентирован на структуры, в которых одному ключу может соответствовать несколько значений. Интерфейс QMultiMap практически полностью соответствует QMultiHash.

Методы контейнера qMap:

lowerBound()

возвращает итератор, указывающий на первый элемент с заданным ключом

toStdMap()

возвращает стандартный словарь STL с элементами, находящимися в объекте QMap()

upperBound()

возвращает итератор, указывающий на последний элемент с заданным ключом

ХЕШ QHash и QMultiHash - функциональность ХЕШа очень похожа на QMap с той лишь разницей, что вместо сортировки по ключу этот класс использует ХЕШ таблицу. Это позволяет осуществлять поиск значений гораздо быстрее. Класс qMultiHash() унаследован от класса qHash() и ориентирован на структуры, в которых одному ключу может соответствовать несколько значений.

Методы контейнера qHash:

capacity()

возвращает размер ХЕШ таблицы

reserve()

задает размер ХЕШ таблицы

squeeze()

уменьшает объем внутренней ХЕШ таблицы для уменьшения используемого объема памяти

qHash()

должна возвращать число, которое должно быть уникальным для каждого находящегося в ХЕШе элемента

Множества QSet – неупорядоченное множество, базируется на использовании ХЕШ таблицы, но является вырожденным ее вариантом, т.к. с ключами не связывается никакое значение. Его главная задача заключается в хранении только ключей, т.е. множество может использоваться в качестве неупорядоченного списка для быстрого поиска данных. Множество позволяет быстро получать и добавлять значения

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]