На этом шаге рассмотрим ассоциативные контейнеры.
Задача ассоциативных контейнеров заключается в сохранении соответствий ключа и значения. Это позволяет обращаться к элементам не по индексу, а при помощи ключа. Для всех контейнеров этого типа (за некоторыми исключениями для контейнера QSet<T>) доступны методы, перечисленные в табл. 1.
Таблица 1. Общие методы ассоциативных контейнеров
Метод | Описание |
---|---|
contains() | Возвращает значение true, если контейнер содержит элемент с заданным ключом. Иначе возвращается значение false |
erase() | Удаляет элемент из контейнера в соответствии с переданным итератором |
find() | Осуществляет поиск элемента по значению. В случае успеха возвращает итератор, указывающий на этот элемент, а в случае неудачи итератор указывает на метод end() |
insertMulti() | Вставляет в контейнер новый элемент. Если элемент уже присутствует в контейнере, то создается новый элемент. Данный метод отсутствует в классе QSet<T> |
insert() | Вставляет в контейнер новый элемент. Если элемент уже присутствует в контейнере, он замещается новым элементом. Данный метод отсутствует в классе QSet<T> |
key() | Возвращает первый ключ в соответствии с переданным в этот метод значением. Данный метод отсутствует в классе QSet<T> |
keys() | Возвращает список всех ключей, находящихся в контейнере. Данный метод отсутствует в классе QSet<T> |
take() | Удаляет элемент из контейнера в соответствии с переданным ключом и возвращает копию его значения. Данный метод отсутствует в классе QSet<T> |
unite() | Добавляет элементы одного контейнера в другой |
values() | Возвращает список всех значений, находящихся в контейнере |
На следующем шаге рассмотрим cловари QMap<K,T>, QMultiMap<K,T>.
Предыдущий шаг
Содержание
Следующий шаг