Шаг 59.
Библиотека Qt.
Последовательные контейнеры

    На этом шаге рассмотрим последовательные контейнеры.

    Последовательные контейнеры представляют собой упорядоченные коллекции, где каждый элемент занимает определенную позицию. Операции, доступные для всех последовательных контейнеров, перечислены в табл. 1.

Таблица 1. Общие методы последовательных контейнеров
Оператор/метод
Описание
+
Объединяет элементы двух контейнеров
+=
Добавляет элемент в контейнер (то же, что и <<)
<<
Добавляет элемент в контейнер
at()
Возвращает указанный элемент
back() и last()
Возвращают ссылку на последний элемент. Эти методы предполагают, что контейнер не пуст. Оба метода back() и last() идентичны, но применение первого предпочтительнее, т. к. он соответствует STL
contains()
Проверяет, содержится ли переданный в качестве параметра элемент в контейнере
erase()
Удаляет элемент, расположенный на позиции итератора, передаваемого в качестве параметра
front() и first()
Возвращают ссылку на первый элемент контейнера. Методы предполагают, что контейнер не пуст. Оба метода front() и first() идентичны, но применение первого более предпочтительно, т. к. он соответствует STL
indexOf()
Возвращает позицию первого совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует
lastIndexOf()
Возвращает позицию последнего совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует
mid()
Возвращает контейнер, содержащий копии элементов, задаваемых начальной позицией и количеством
pop_back()
Удаляет последний элемент контейнера
pop_front()
Удаляет первый элемент контейнера
push_back() и append()
Методы добавляют один элемент в конец контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL
push_front() и prepend()
Методы добавляют один элемент в начало контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL
replace()
Заменяет элемент, находящийся на заданной позиции, значением, переданным как второй параметр

   Пример:

QVector<QString> vec;
vec.append("Turbo Pascal");
vec.append("Lisp");
vec.append("Библиотека Qt");
qDebug() << vec; 

    На экране вы увидите:

QVector("Turbo Pascal", "Lisp", "Библиотека Qt")

    На следующем шаге рассмотрим вектор QVector<T>.




Предыдущий шаг Содержание Следующий шаг