En esta página

QList Class

template <typename T> class QList

La clase QList es una clase de plantilla que proporciona una matriz dinámica. Más...

Cabecera: #include <QList>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Heredado por:
16 tipos

QBluetoothServiceInfo::Alternative, QBluetoothServiceInfo::Sequence, QByteArrayList, QItemSelection, QMqttUserProperties, QNdefMessage, QPolygon, QPolygonF, QQueue, QSignalSpy, QStack, QStringList, QTestEventList, QVector, QVulkanInfoVector, y QXmlStreamAttributes

Nota: Todas las funciones de esta clase son reentrantes.

Tipos Públicos

Funciones Públicas

QList()
QList(qsizetype tamaño)
QList(std::initializer_list<T> args)
QList(InputIterator primero, InputIterator último)
QList(qsizetype tamaño, QList<T>::tipo_parámetro valor)
(since 6.8) QList(qsizetype tamaño, Qt::Inicialización)
QList(const QList<T> &other)
QList(QList<T> &&otro)
~QList()
void append(QList<T>:: valor_tipo_parámetro)
(since 6.0) void append(QList<T> &&valor)
void append(QList<T>::rvalue_ref valor)
void append(const QList<T> &valor)
(since 6.6) QList<T> &assign(std::initializer_list<T> l)
(since 6.6) QList<T> &assign(InputIterator primero, InputIterator último)
(since 6.6) QList<T> &assign(qsizetype n, QList<T>::parameter_type t)
QList<T>::const_reference at(qsizetype i) const
QList<T>::referencia back()
QList<T>::const_referencia back() const
QList<T>::iterador begin()
QList<T>::const_iterator begin() const
qsizetype capacity() const
QList<T>::const_iterator cbegin() const
QList<T>::const_iterator cend() const
void clear()
QList<T>::const_iterator constBegin() const
QList<T>::const_puntero constData() const
QList<T>::const_iterator constEnd() const
const T &constFirst() const
const T &constLast() const
bool contains(const AT &value) const
qsizetype count(const AT &value) const
qsizetype count() const
QList<T>::const_reverse_iterator crbegin() const
QList<T>::const_reverse_iterator crend() const
QList<T>::puntero data()
QList<T>::const_puntero data() const
QList<T>::iterador emplace(qsizetype i, Args &&... args)
QList<T>::iterador emplace(QList<T>::const_iterator before, Args &&... args)
QList<T>::referencia emplaceBack(Args &&... args)
QList<T>::referencia emplace_back(Args &&... args)
bool empty() const
QList<T>::iterador end()
QList<T>::const_iterator end() const
bool endsWith(QList<T>:: valor_tipo_parámetro) const
QList<T>::iterador erase(QList<T>::const_iterator pos)
QList<T>::iterador erase(QList<T>::const_iterator begin, QList<T>::const_iterator end)
QList<T> &fill(QList<T>::parameter_type valor, qsizetype tamaño = -1)
T &first()
(since 6.0) QList<T> first(qsizetype n) const
const T &first() const
QList<T>::referencia front()
QList<T>::const_referencia front() const
qsizetype indexOf(const AT &value, qsizetype from = 0) const
QList<T>::iterador insert(qsizetype i, QList<T>::parameter_type value)
QList<T>::iterador insert(qsizetype i, QList<T>::rvalue_ref value)
QList<T>::iterador insert(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value)
QList<T>::iterador insert(QList<T>::const_iterator before, QList<T>::parameter_type value)
QList<T>::iterador insert(QList<T>::const_iterator antes, QList<T>::rvalue_ref valor)
QList<T>::iterator insert(qsizetype i, qsizetype count, QList<T>::parameter_type value)
bool isEmpty() const
T &last()
(since 6.0) QList<T> last(qsizetype n) const
const T &last() const
qsizetype lastIndexOf(const AT &value, qsizetype from = -1) const
qsizetype length() const
(since 6.8) qsizetype max_size() const
QList<T> mid(qsizetype pos, qsizetype length = -1) const
void move(qsizetype from, qsizetype to)
void pop_back()
void pop_front()
void prepend(QList<T>:: valor_tipo_parámetro)
void prepend(QList<T>::rvalue_ref valor)
void push_back(QList<T>:: valor_tipo_parámetro)
void push_back(QList<T>::rvalue_ref valor)
void push_front(QList<T>:: valor_tipo_parámetro)
void push_front(QList<T>::rvalue_ref valor)
QList<T>::iterador_inverso rbegin()
QList<T>::const_reverse_iterator rbegin() const
void remove(qsizetype i, qsizetype n = 1)
qsizetype removeAll(const AT &t)
void removeAt(qsizetype i)
void removeFirst()
(since 6.1) qsizetype removeIf(Predicado pred)
void removeLast()
bool removeOne(const AT &t)
QList<T>::iterador_inverso rend()
QList<T>::const_iterador_inverso rend() const
void replace(qsizetype i, QList<T>::parameter_type value)
void replace(qsizetype i, QList<T>::rvalue_ref value)
void reserve(qsizetype tamaño)
(since 6.0) void resize(qsizetype tamaño)
(since 6.0) void resize(qsizetype tamaño, QList<T>::tipo_parámetro c)
(since 6.8) void resizeForOverwrite(qsizetype tamaño)
void shrink_to_fit()
qsizetype size() const
(since 6.0) QList<T> sliced(qsizetype pos, qsizetype n) const
(since 6.0) QList<T> sliced(qsizetype pos) const
void squeeze()
bool startsWith(QList<T>:: valor_tipo_parámetro) const
void swap(QList<T> &other)
void swapItemsAt(qsizetype i, qsizetype j)
T takeAt(qsizetype i)
QList<T>::valor_tipo takeFirst()
QList<T>::valor_tipo takeLast()
T value(qsizetype i) const
T value(qsizetype i, QList<T>::parameter_type defaultValue) const
bool operator!=(const QList<T> &other) const
QList<T> operator+(QList<T> &&other) &&
QList<T> operator+(const QList<T> &otro) &&
QList<T> operator+(QList<T> &&otro) const &
QList<T> operator+(const QList<T> &otro) const &
QList<T> &operator+=(const QList<T> &other)
(since 6.0) QList<T> &operator+=(QList<T> &&otro)
QList<T> &operator+=(QList<T>:: valor_tipo_parámetro)
QList<T> &operator+=(QList<T>::rvalue_ref valor)
bool operator<(const QList<T> &other) const
QList<T> &operator<<(QList<T>:: valor_tipo_parámetro)
QList<T> &operator<<(const QList<T> &other)
(since 6.0) QList<T> &operator<<(QList<T> &&otro)
QList<T> &operator<<(QList<T>::rvalue_ref valor)
bool operator<=(const QList<T> &other) const
QList<T> &operator=(QList<T> &&other)
QList<T> &operator=(const QList<T> &otro)
QList<T> &operator=(std::initializer_list<T> args)
bool operator==(const QList<T> &other) const
bool operator>(const QList<T> &other) const
bool operator>=(const QList<T> &other) const
QList<T>::referencia operator[](qsizetype i)
QList<T>::const_referencia operator[](qsizetype i) const

Miembros públicos estáticos

(since 6.8) qsizetype maxSize()
(since 6.1) qsizetype erase(QList<T> &list, const AT &t)
(since 6.1) qsizetype erase_if(QList<T> &list, Predicate pred)
size_t qHash(const QList<T> &key, size_t seed = 0)
QDataStream &operator<<(QDataStream &out, const QList<T> &list)
(since 6.9) auto operator<=>(const QList<T> &lhs, const QList<T> &rhs)
QDataStream &operator>>(QDataStream &in, QList<T> &list)

Descripción detallada

QList<T> es una de las clases contenedoras genéricas de Qt. Almacena sus elementos en posiciones de memoria adyacentes y proporciona un acceso rápido basado en índices. QVector<T> solía ser una clase diferente en Qt 5, pero ahora es un simple alias de QList.

QList<T> y QVarLengthArray<T> proporcionan APIs y funcionalidades similares. A menudo son intercambiables, pero hay consecuencias de rendimiento. He aquí una visión general de los casos de uso:

  • QList debería ser tu primera opción por defecto.
  • QVarLengthArray proporciona una matriz que reserva espacio en la pila, pero puede crecer dinámicamente en el montón si es necesario. Es bueno usarlo para contenedores de corta duración que suelen ser pequeños.
  • Si necesitas una lista enlazada real, que garantice inserciones en tiempo constante a mitad de lista y utilice iteradores a elementos en lugar de índices, utiliza std::list.

Nota: Tanto QList como QVarLengthArray garantizan una disposición de arrays compatible con C.

Nota: QList en Qt 5 no siempre tenía un diseño de array compatible con C y a menudo recomendábamos usar QVector en su lugar para un rendimiento más predecible. Este ya no es el caso en Qt 6, donde ambas clases comparten ahora una implementación y pueden usarse indistintamente.

He aquí un ejemplo de una QList que almacena enteros y una QList que almacena valores QString:

QList<int> integerList;
QList<QString> stringList;

QList almacena sus elementos en un array de memoria continua. Normalmente, las listas se crean con un tamaño inicial. Por ejemplo, el siguiente código construye una QList con 200 elementos:

QList<QString> list(200);

Los elementos se inicializan automáticamente con un valor construido por defecto. Si quieres inicializar la lista con un valor diferente, pasa ese valor como segundo argumento al constructor:

QList<QString> list(200, "Pass");

También puedes llamar a fill() en cualquier momento para llenar la lista con un valor.

QList utiliza índices basados en 0, igual que las matrices de C++. Para acceder al elemento en una posición de índice determinada, puede utilizar operator[](). En listas no-const, operator[]() devuelve una referencia al elemento que puede utilizarse en el lado izquierdo de una asignación:

if (list[0] == "Liz")
    list[0] = "Elizabeth";

Para el acceso de sólo lectura, una sintaxis alternativa es utilizar at():

for (qsizetype i = 0; i < list.size(); ++i) {
    if (list.at(i) == "Alfonso")
        cout << "Found Alfonso at position " << i << endl;
}

at() puede ser más rápido que operator[](), porque nunca provoca una copia profunda.

Otra forma de acceder a los datos almacenados en una QList es llamar a data(). La función devuelve un puntero al primer elemento de la lista. Puedes utilizar el puntero para acceder directamente a los elementos almacenados en la lista y modificarlos. El puntero también es útil si necesita pasar una QList a una función que acepte un array C++ plano.

Si desea encontrar todas las apariciones de un valor determinado en una lista, utilice indexOf() o lastIndexOf(). El primero busca hacia adelante a partir de una posición de índice dada, el segundo busca hacia atrás. Ambos devuelven el índice del elemento coincidente si lo encuentran; en caso contrario, devuelven -1. Por ejemplo:

qsizetype i = list.indexOf("Harumi");
if (i != -1)
    cout << "First occurrence of Harumi is at position " << i << endl;

Si sólo desea comprobar si una lista contiene un valor determinado, utilice contains(). Si desea averiguar cuántas veces aparece un determinado valor en la lista, utilice count().

QList proporciona estas funciones básicas para añadir, mover y eliminar elementos: insert(), replace(), remove(), prepend(), append(). Con la excepción de append(), prepend() y replace(), estas funciones pueden ser lentas(tiempo lineal) para listas grandes, porque requieren mover muchos elementos de la lista una posición en memoria. Si desea una clase contenedora que proporcione una rápida inserción/eliminación en el medio, utilice std::list en su lugar.

A diferencia de los arrays C++ planos, QLists puede ser redimensionada en cualquier momento llamando a resize(). Si el nuevo tamaño es mayor que el anterior, QList puede necesitar reasignar toda la lista. QList intenta reducir el número de reasignaciones preasignando hasta el doble de memoria de la que realmente necesitan los datos.

Si estás construyendo una QList gradualmente y sabes de antemano aproximadamente cuántos elementos contendrá, puedes llamar a reserve(), pidiendo a QList que preasigne una cierta cantidad de memoria. También puedes llamar a capacity() para averiguar cuánta memoria tiene realmente asignada QList.

Tenga en cuenta que el uso de operadores y funciones no-const puede hacer que QList realice una copia profunda de los datos, debido a la compartición implícita.

El tipo de valor de QList debe ser un tipo de dato asignable. Esto cubre la mayoría de los tipos de datos que se usan comúnmente, pero el compilador no te permitirá, por ejemplo, almacenar un QWidget como valor; en su lugar, almacena un QWidget *. Algunas funciones tienen requisitos adicionales; por ejemplo, indexOf() y lastIndexOf() esperan que el tipo de valor admita operator==(). Estos requisitos se documentan por función.

Para iterar sobre los elementos, véase Iterar sobre contenedores. Para utilizar QList con funciones de la cabecera <algorithm>, como std::sort(), std::reverse(), y std::count_if(), consulte Contenedores Qt y algoritmos std.

Además de QList, Qt también proporciona QVarLengthArray, una clase de muy bajo nivel con poca funcionalidad que está optimizada para la velocidad.

Más información sobre el uso de contenedores Qt

Para una discusión detallada comparando los contenedores Qt entre sí y con los contenedores STL, ver Entender los Contenedores Qt.

Tamaño máximo y condiciones fuera de memoria

El tamaño máximo de QList depende de la arquitectura. La mayoría de los sistemas de 64 bits pueden asignar más de 2 GB de memoria, con un límite típico de 2^63 bytes. El valor real también depende de la sobrecarga necesaria para gestionar el bloque de datos. Como resultado, se puede esperar un tamaño máximo de 2 GB menos la sobrecarga en plataformas de 32 bits, y de 2^63 bytes menos la sobrecarga en plataformas de 64 bits. El número de elementos que se pueden almacenar en una QList es este tamaño máximo dividido por el tamaño de un elemento almacenado.

Cuando falla la asignación de memoria, QList utiliza la macro Q_CHECK_PTR, que lanza una excepción std::bad_alloc si la aplicación está siendo compilada con soporte de excepciones. Si las excepciones están deshabilitadas, quedarse sin memoria es un comportamiento indefinido.

Tenga en cuenta que el sistema operativo puede imponer límites adicionales a las aplicaciones que tienen mucha memoria asignada, especialmente bloques grandes y contiguos. Tales consideraciones, la configuración de tal comportamiento o cualquier mitigación están fuera del alcance de la API de Qt.

Documentación de tipos de miembros

[alias] QList::ConstIterator

Qt-style sinónimo de QList::const_iterator.

[alias] QList::Iterator

Qt-style sinónimo de QList::iterator.

[alias] QList::const_pointer

Proporcionado para la compatibilidad STL.

[alias] QList::const_reference

Proporcionado para la compatibilidad STL.

[alias] QList::const_reverse_iterator

El typedef QList::const_reverse_iterator proporciona un iterador inverso const de estilo STL para QList.

Advertencia: Los iteradores en contenedores implícitamente compartidos no funcionan exactamente como los iteradores STL. Deberías evitar copiar un contenedor mientras los iteradores están activos en ese contenedor. Para más información, lea Problema con los iteradores compartidos implícitamente.

Advertencia: Los iteradores se invalidan cuando se modifica QList. Ten en cuenta que todos los iteradores se invalidan por defecto. Las excepciones a esta regla están explícitamente documentadas.

Véase también QList::rbegin(), QList::rend(), QList::reverse_iterator, y QList::const_iterator.

[alias] QList::difference_type

Proporcionado para la compatibilidad STL.

[alias] QList::parameter_type

[alias] QList::pointer

Proporcionado para la compatibilidad STL.

[alias] QList::reference

Proporcionado para la compatibilidad STL.

[alias] QList::reverse_iterator

El tippedef QList::reverse_iterator proporciona un iterador inverso no-const de estilo STL para QList.

Advertencia: Los iteradores en contenedores implícitamente compartidos no funcionan exactamente como los iteradores STL. Deberías evitar copiar un contenedor mientras los iteradores están activos en ese contenedor. Para más información, lea Problema con los iteradores compartidos implícitamente.

Advertencia: Los iteradores se invalidan cuando se modifica QList. Ten en cuenta que todos los iteradores se invalidan por defecto. Las excepciones a esta regla están explícitamente documentadas.

Véase también QList::rbegin(), QList::rend(), QList::const_reverse_iterator, y QList::iterator.

[alias] QList::rvalue_ref

[alias] QList::size_type

Proporcionado para la compatibilidad STL.

[alias] QList::value_type

Proporcionado para compatibilidad STL.

Documentación de las funciones miembro

[constexpr noexcept] QList::QList()

Construye una lista vacía.

Véase también resize().

[explicit] QList::QList(qsizetype size)

Construye una lista con un tamaño inicial de size elementos.

Los elementos se inicializan con un valor construido por defecto.

Véase también resize().

QList::QList(std::initializer_list<T> args)

Construye una lista a partir de la lista std::initializer_list dada por args.

template <typename InputIterator, QList<T>::if_input_iterator<InputIterator> = true> QList::QList(InputIterator first, InputIterator last)

Construye una lista con el contenido en el rango del iterador [first, last).

El tipo de valor de InputIterator debe ser convertible a T.

Restricciones

Participa en la resolución de sobrecargas sólo si InputIterator cumple los requisitos de un LegacyInputIterator.

QList::QList(qsizetype size, QList<T>::parameter_type value)

Construye una lista con un tamaño inicial de size elementos. Cada elemento se inicializa con value.

Véase también resize() y fill().

[since 6.8] QList::QList(qsizetype size, Qt::Initialization)

Construye una lista con un tamaño inicial de size elementos.

QList hará un intento de no inicializar los elementos.

Específicamente

  • si T tiene un constructor que acepta Qt::Uninitialized, se usará ese constructor para inicializar los elementos;
  • de lo contrario, cada elemento se construye por defecto. Para tipos trivialmente construibles (como int, float, etc.) esto es equivalente a no inicializarlos.

Esta función se introdujo en Qt 6.8.

Véase también resizeForOverwrite().

[default] QList::QList(const QList<T> &other)

Construye una copia de other.

Esta operación toma tiempo constante, porque QList es implícitamente compartida. Esto hace que devolver un QList desde una función sea muy rápido. Si una instancia compartida es modificada, será copiada (copy-on-write), y eso toma tiempo lineal.

Véase también operator=().

[default] QList::QList(QList<T> &&other)

Move-construye una instancia de QList, haciendo que apunte al mismo objeto al que apuntaba other.

[default] QList::~QList()

Destruye la lista.

void QList::append(QList<T>::parameter_type value)

Inserta value al final de la lista.

Ejemplo:

QList<QString> list;
list.append("one");
list.append("two");
QString three = "three";
list.append(three);
// list: ["one", "two", "three"]
// three: "three"

Esto es lo mismo que llamar a resize(size() + 1) y asignar value al nuevo último elemento de la lista.

Esta operación es relativamente rápida, ya que QList suele asignar más memoria de la necesaria, por lo que puede crecer sin reasignar toda la lista cada vez.

Véase también operator<<(), prepend() y insert().

[since 6.0] void QList::append(QList<T> &&value)

Mueve los elementos de la lista value al final de esta lista.

Se trata de una función sobrecargada.

Esta función se introdujo en Qt 6.0.

Véase también operator<<() y operator+=().

void QList::append(QList<T>::rvalue_ref value)

Ejemplo:

QList<QString> list;
list.append("one");
list.append("two");
QString three = "three";
list.append(std::move(three));
// list: ["one", "two", "three"]
// three: ""

Esta es una función sobrecargada.

void QList::append(const QList<T> &value)

Añade los elementos de la lista value a esta lista.

Se trata de una función sobrecargada.

Véase también operator<<() y operator+=().

[since 6.6] QList<T> &QList::assign(std::initializer_list<T> l)

Sustituye el contenido de esta lista por una copia de los elementos de l.

El tamaño de esta lista será igual al número de elementos de l.

Esta función sólo asigna memoria si el número de elementos en l excede la capacidad de esta lista o esta lista es compartida.

Esta función se introdujo en Qt 6.6.

[since 6.6] template <typename InputIterator, QList<T>::if_input_iterator<InputIterator> = true> QList<T> &QList::assign(InputIterator first, InputIterator last)

Sustituye el contenido de esta lista por una copia de los elementos del rango del iterador [first, last).

El tamaño de esta lista será igual al número de elementos del rango [first, last).

Esta función sólo asignará memoria si el número de elementos en el rango excede la capacidad de esta lista o esta lista es compartida.

Nota: El comportamiento es indefinido si cualquiera de los argumentos es un iterador dentro de *this.

Restricciones

Participa en la resolución de sobrecargas sólo si InputIterator cumple los requisitos de un LegacyInputIterator.

Esta función se introdujo en Qt 6.6.

[since 6.6] QList<T> &QList::assign(qsizetype n, QList<T>::parameter_type t)

Sustituye el contenido de esta lista por n copias de t.

El tamaño de esta lista será igual a n.

Esta función sólo asignará memoria si n excede la capacidad de la lista o ésta es compartida.

Esta función se introdujo en Qt 6.6.

[noexcept] QList<T>::const_reference QList::at(qsizetype i) const

Devuelve el elemento en la posición de índice i en la lista.

i debe ser una posición de índice válida en la lista (es decir, 0 <= i < size()).

Véase también value() y operator[]().

QList<T>::reference QList::back()

Esta función se proporciona por compatibilidad con STL. Es equivalente a last().

[noexcept] QList<T>::const_reference QList::back() const

Se trata de una función sobrecargada.

QList<T>::iterator QList::begin()

Devuelve un iterador de estilo STL que apunta al primer elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también constBegin() y end().

[noexcept] QList<T>::const_iterator QList::begin() const

Se trata de una función sobrecargada.

qsizetype QList::capacity() const

Devuelve el número máximo de elementos que se pueden almacenar en la lista sin forzar una reasignación.

El único propósito de esta función es proporcionar un medio para ajustar el uso de memoria de QList. En general, rara vez necesitará llamar a esta función. Si desea saber cuántos elementos hay en la lista, llame a size().

Nota: una lista asignada estáticamente reportará una capacidad de 0, incluso si no está vacía.

Advertencia: La posición del espacio libre en el bloque de memoria asignado no está definida. En otras palabras, no debe suponer que la memoria libre se encuentra siempre al final de la lista. Puede llamar a reserve() para asegurarse de que hay suficiente espacio al final.

Véase también reserve() y squeeze().

[noexcept] QList<T>::const_iterator QList::cbegin() const

Devuelve un iterador const de estilo STL que apunta al primer elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también begin() y cend().

[noexcept] QList<T>::const_iterator QList::cend() const

Devuelve un iterador const de estilo STL que apunta justo después del último elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también cbegin() y end().

void QList::clear()

Elimina todos los elementos de la lista.

Si esta lista no se comparte, se conserva capacity(). Utilice squeeze() para eliminar el exceso de capacidad.

Nota: En versiones de Qt anteriores a la 5.7 (para QVector) y 6.0 (para QList), esta función liberaba la memoria utilizada por la lista en lugar de preservar la capacidad.

Véase también resize() y squeeze().

[noexcept] QList<T>::const_iterator QList::constBegin() const

Devuelve un iterador const de estilo STL que apunta al primer elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también begin() y constEnd().

[noexcept] QList<T>::const_pointer QList::constData() const

Devuelve un puntero constante a los datos almacenados en la lista. El puntero puede utilizarse para acceder a los elementos de la lista.

Advertencia: El puntero se invalida al separarlo o cuando se modifica QList.

Esta función es sobre todo útil para pasar una lista a una función que acepte un array C++ plano.

Véase también data() y operator[]().

[noexcept] QList<T>::const_iterator QList::constEnd() const

Devuelve un iterador const de estilo STL que apunta justo después del último elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también constBegin() y end().

[noexcept] const T &QList::constFirst() const

Devuelve una referencia constante al primer elemento de la lista. Esta función asume que la lista no está vacía.

Véase también constLast(), isEmpty() y first().

[noexcept] const T &QList::constLast() const

Devuelve una referencia constante al último elemento de la lista. Esta función asume que la lista no está vacía.

Véase también constFirst(), isEmpty() y last().

[noexcept] template <typename AT> bool QList::contains(const AT &value) const

Devuelve true si la lista contiene una ocurrencia de value; en caso contrario devuelve false.

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también indexOf() y count().

[noexcept] template <typename AT = T> qsizetype QList::count(const AT &value) const

Devuelve el número de apariciones de value en la lista.

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también contains() y indexOf().

[constexpr noexcept] qsizetype QList::count() const

Igual que size().

Se trata de una función sobrecargada.

[noexcept] QList<T>::const_reverse_iterator QList::crbegin() const

Devuelve un iterador inverso de estilo STL que apunta al primer elemento de la lista, en orden inverso.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también begin(), rbegin(), y rend().

[noexcept] QList<T>::const_reverse_iterator QList::crend() const

Devuelve un iterador inverso estilo STL que apunta justo después del último elemento de la lista, en orden inverso.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también end(), rend(), y rbegin().

QList<T>::pointer QList::data()

Devuelve un puntero a los datos almacenados en la lista. El puntero puede utilizarse para acceder a los elementos de la lista y modificarlos.

Ejemplo:

QList<int> list(10);
int *data = list.data();
for (qsizetype i = 0; i < 10; ++i)
    data[i] = 2 * i;

Advertencia: El puntero se invalida al separarlo o cuando se modifica QList.

Esta función es sobre todo útil para pasar una lista a una función que acepte un array C++ plano.

Véase también constData() y operator[]().

[noexcept] QList<T>::const_pointer QList::data() const

Se trata de una función sobrecargada.

template <typename... Args> QList<T>::iterator QList::emplace(qsizetype i, Args &&... args)

Amplía el contenedor insertando un nuevo elemento en la posición i. Este nuevo elemento se construye in situ utilizando args como argumentos para su construcción.

Devuelve un iterador al nuevo elemento.

Ejemplo:

QList<QString> list{"a", "ccc"};
list.emplace(1, 2, 'b');
// list: ["a", "bb", "ccc"]

Nota: Se garantiza que el elemento se creará in situ al principio, pero después podría copiarse o moverse a la posición correcta.

Véase también emplaceBack.

template <typename... Args> QList<T>::iterator QList::emplace(QList<T>::const_iterator before, Args &&... args)

Crea un nuevo elemento delante del elemento apuntado por el iterador before. Este nuevo elemento se construye in situ utilizando args como argumentos para su construcción.

Devuelve un iterador al nuevo elemento.

Esta es una función sobrecargada.

template <typename... Args> QList<T>::reference QList::emplaceBack(Args &&... args)

template <typename... Args> QList<T>::reference QList::emplace_back(Args &&... args)

Añade un nuevo elemento al final del contenedor. Este nuevo elemento se construye in situ utilizando args como argumentos para su construcción.

Devuelve una referencia al nuevo elemento.

Ejemplo:

QList<QString> list{"uno", "dos"}; list.emplaceBack(3, 'a');qDebug() << list;
// lista: ["uno", "dos", "aaa"]

También es posible acceder a un objeto recién creado utilizando la referencia devuelta:

QList<QString> list;
auto &ref = list.emplaceBack();
ref = "one";
// list: ["one"]

Esto es lo mismo que list.emplace(list.size(), args).

Véase también emplace.

[noexcept] bool QList::empty() const

Esta función se proporciona por compatibilidad con la STL. Es equivalente a isEmpty(), devolviendo true si la lista está vacía; en caso contrario devuelve false.

QList<T>::iterator QList::end()

Devuelve un iterador estilo STL que apunta justo después del último elemento de la lista.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también begin() y constEnd().

[noexcept] QList<T>::const_iterator QList::end() const

Se trata de una función sobrecargada.

bool QList::endsWith(QList<T>::parameter_type value) const

Devuelve true si esta lista no está vacía y su último elemento es igual a value; en caso contrario devuelve false.

Véase también isEmpty() y last().

QList<T>::iterator QList::erase(QList<T>::const_iterator pos)

Elimina de la lista el elemento apuntado por el iterador pos y devuelve un iterador al siguiente elemento de la lista (que puede ser end()).

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Nota: Cuando QList no está implícitamente compartido, esta función sólo invalida los iteradores en o después de la posición especificada.

Véase también insert() y remove().

QList<T>::iterator QList::erase(QList<T>::const_iterator begin, QList<T>::const_iterator end)

Elimina todos los elementos de begin hasta (pero sin incluir) end. Devuelve un iterador al mismo elemento al que end hacía referencia antes de la llamada.

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Nota: Cuando QList no está implícitamente compartido, esta función sólo invalida los iteradores en o después de la posición especificada.

Se trata de una función sobrecargada.

QList<T> &QList::fill(QList<T>::parameter_type value, qsizetype size = -1)

Asigna value a todos los elementos de la lista. Si size es diferente de -1 (por defecto), la lista se redimensiona previamente a size.

Ejemplo:

QList<QString> list(3);
list.fill("Yes");
// list: ["Yes", "Yes", "Yes"]

list.fill("oh", 5);
// list: ["oh", "oh", "oh", "oh", "oh"]

Véase también resize().

T &QList::first()

Devuelve una referencia al primer elemento de la lista. Esta función asume que la lista no está vacía.

Véase también last(), isEmpty() y constFirst().

[since 6.0] QList<T> QList::first(qsizetype n) const

Devuelve una sublista que contiene los primeros elementos n de esta lista.

Nota: El comportamiento es indefinido cuando n < 0 o n > size().

Esta función se introdujo en Qt 6.0.

Véase también last() y sliced().

[noexcept] const T &QList::first() const

Se trata de una función sobrecargada.

QList<T>::reference QList::front()

Esta función se proporciona por compatibilidad con STL. Es equivalente a first().

[noexcept] QList<T>::const_reference QList::front() const

Se trata de una función sobrecargada.

[noexcept] template <typename AT> qsizetype QList::indexOf(const AT &value, qsizetype from = 0) const

Devuelve la posición del índice de la primera aparición de value en la lista, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no aparece ningún elemento.

Ejemplo:

QList<QString> list{"A", "B", "C", "B", "A"};
list.indexOf("B");            // returns 1
list.indexOf("B", 1);         // returns 1
list.indexOf("B", 2);         // returns 3
list.indexOf("X");            // returns -1

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también lastIndexOf() y contains().

QList<T>::iterator QList::insert(qsizetype i, QList<T>::parameter_type value)

QList<T>::iterator QList::insert(qsizetype i, QList<T>::rvalue_ref value)

Inserta value en la posición de índice i de la lista. Si i es 0, el valor se añade a la lista. Si i es size(), el valor se añade a la lista.

Ejemplo:

QList<QString> list = {"alpha", "beta", "delta"};
list.insert(2, "gamma");
// list: ["alpha", "beta", "gamma", "delta"]

Para listas grandes, esta operación puede ser lenta(tiempo lineal), porque requiere mover todos los elementos en los índices i y superiores una posición más en memoria. Si desea una clase contenedora que proporcione una función rápida insert(), utilice std::list en su lugar.

Véase también append(), prepend(), y remove().

QList<T>::iterator QList::insert(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value)

Inserta count copias de value delante del elemento apuntado por el iterador before. Devuelve un iterador que apunta al primero de los elementos insertados.

QList<T>::iterator QList::insert(QList<T>::const_iterator before, QList<T>::parameter_type value)

QList<T>::iterator QList::insert(QList<T>::const_iterator before, QList<T>::rvalue_ref value)

Inserta value delante del elemento apuntado por el iterador before. Devuelve un iterador apuntando al elemento insertado.

QList<T>::iterator QList::insert(qsizetype i, qsizetype count, QList<T>::parameter_type value)

Inserta count copias de value en la posición de índice i de la lista.

Ejemplo:

QList<double> list = {2.718, 1.442, 0.4342};
list.insert(1, 3, 9.9);
// list: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]

Esta es una función sobrecargada.

[constexpr noexcept] bool QList::isEmpty() const

Devuelve true si la lista tiene tamaño 0; en caso contrario devuelve false.

Véase también size() y resize().

T &QList::last()

Devuelve una referencia al último elemento de la lista. Esta función asume que la lista no está vacía.

Véase también first(), isEmpty() y constLast().

[since 6.0] QList<T> QList::last(qsizetype n) const

Devuelve una sublista que contiene los últimos elementos n de esta lista.

Nota: El comportamiento es indefinido cuando n < 0 o n > size().

Esta función se introdujo en Qt 6.0.

Véase también first() y sliced().

[noexcept] const T &QList::last() const

Se trata de una función sobrecargada.

[noexcept] template <typename AT> qsizetype QList::lastIndexOf(const AT &value, qsizetype from = -1) const

Devuelve la posición del índice de la última aparición del valor value en la lista, buscando hacia atrás desde la posición del índice from. Si from es -1 (por defecto), la búsqueda comienza en el último elemento. Devuelve -1 si no se encuentra ningún elemento.

Ejemplo:

QList<QString> list = {"A", "B", "C", "B", "A"};
list.lastIndexOf("B");        // returns 3
list.lastIndexOf("B", 3);     // returns 3
list.lastIndexOf("B", 2);     // returns 1
list.lastIndexOf("X");        // returns -1

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también indexOf().

[constexpr noexcept] qsizetype QList::length() const

Igual que size() y count().

Véase también size() y count().

[constexpr noexcept, since 6.8] qsizetype QList::max_size() const

[static constexpr, since 6.8] qsizetype QList::maxSize()

Devuelve el número máximo de elementos que teóricamente puede contener la lista. En la práctica, el número puede ser mucho menor, limitado por la cantidad de memoria disponible en el sistema.

Estas funciones se introdujeron en Qt 6.8.

QList<T> QList::mid(qsizetype pos, qsizetype length = -1) const

Devuelve una sublista que contiene elementos de esta lista, comenzando en la posición pos. Si length es -1 (el valor predeterminado), se incluyen todos los elementos posteriores a pos; en caso contrario, se incluyen los elementos de length (o todos los elementos restantes si hay menos de length elementos).

void QList::move(qsizetype from, qsizetype to)

Mueve el elemento en la posición de índice from a la posición de índice to.

from y to deben estar dentro de los límites.

Por ejemplo, para mover el primer elemento al final de la lista:

QList<int> list = {1, 2, 3}; list.move(0, list.size() - 1);qDebug() << list; // Prints "QList(2, 3, 1)"

[noexcept] void QList::pop_back()

Esta función se proporciona por compatibilidad con STL. Es equivalente a removeLast().

[noexcept] void QList::pop_front()

Esta función se proporciona por compatibilidad con STL. Es equivalente a removeFirst().

void QList::prepend(QList<T>::parameter_type value)

void QList::prepend(QList<T>::rvalue_ref value)

Inserta value al principio de la lista.

Ejemplo:

QList<QString> list;
list.prepend("one");
list.prepend("two");
list.prepend("three");
// list: ["three", "two", "one"]

Es lo mismo que list.insert(0, value).

Normalmente esta operación es relativamente rápida ( tiempo constante amortizado). QList es capaz de asignar memoria extra al principio de los datos de la lista y crecer en esa dirección sin reasignar o mover los datos en cada operación. Sin embargo, si desea una clase contenedora con garantía de prepago en tiempo constante, utilice std::list en su lugar, pero prefiera QList en caso contrario.

Véase también append() y insert().

void QList::push_back(QList<T>::parameter_type value)

Esta función se proporciona por compatibilidad con STL. Es equivalente a append(value).

void QList::push_back(QList<T>::rvalue_ref value)

Se trata de una función sobrecargada.

void QList::push_front(QList<T>::parameter_type value)

void QList::push_front(QList<T>::rvalue_ref value)

Esta función se proporciona por compatibilidad con STL. Es equivalente a prepend(value).

QList<T>::reverse_iterator QList::rbegin()

Devuelve un iterador inverso estilo STL que apunta al primer elemento de la lista, en orden inverso.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también begin(), crbegin(), y rend().

[noexcept] QList<T>::const_reverse_iterator QList::rbegin() const

Se trata de una función sobrecargada.

void QList::remove(qsizetype i, qsizetype n = 1)

Elimina n elementos de la lista, comenzando en la posición de índice i.

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Nota: Cuando QList no está implícitamente compartido, esta función sólo invalida los iteradores en o después de la posición especificada.

Véase también insert(), replace(), y fill().

template <typename AT = T> qsizetype QList::removeAll(const AT &t)

Elimina de la lista todos los elementos cuya comparación sea igual a t. Devuelve el número de elementos eliminados, si los hay.

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Véase también removeOne().

void QList::removeAt(qsizetype i)

Elimina el elemento en la posición del índice i. Equivale a

remove(i);

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar la capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Nota: Cuando QList no está implícitamente compartido, esta función sólo invalida los iteradores en o después de la posición especificada.

Véase también remove().

[noexcept] void QList::removeFirst()

Elimina el primer elemento de la lista. Llamar a esta función equivale a llamar a remove(0). La lista no debe estar vacía. Si la lista puede estar vacía, llame a isEmpty() antes de llamar a esta función.

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Véase también remove(), takeFirst() y isEmpty().

[since 6.1] template <typename Predicate> qsizetype QList::removeIf(Predicate pred)

Elimina de la lista todos los elementos para los que el predicado pred devuelve verdadero. Devuelve el número de elementos eliminados, si los hay.

Esta función se introdujo en Qt 6.1.

Véase también removeAll().

[noexcept] void QList::removeLast()

Elimina el último elemento de la lista. Llamar a esta función es equivalente a llamar a remove(size() - 1). La lista no debe estar vacía. Si la lista puede estar vacía, llame a isEmpty() antes de llamar a esta función.

La eliminación de elementos conservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Véase también remove(), takeLast(), removeFirst() y isEmpty().

template <typename AT = T> bool QList::removeOne(const AT &t)

Elimina de la lista el primer elemento cuya comparación sea igual a t. Devuelve si un elemento fue, de hecho, eliminado.

La eliminación de elementos preservará la capacidad de la lista y no reducirá la cantidad de memoria asignada. Para eliminar capacidad extra y liberar tanta memoria como sea posible, llame a squeeze().

Véase también removeAll().

QList<T>::reverse_iterator QList::rend()

Devuelve un iterador inverso estilo STL que apunta justo después del último elemento de la lista, en orden inverso.

Advertencia: El iterador devuelto se invalida al separarse o cuando se modifica QList.

Véase también end(), crend(), y rbegin().

[noexcept] QList<T>::const_reverse_iterator QList::rend() const

Se trata de una función sobrecargada.

void QList::replace(qsizetype i, QList<T>::parameter_type value)

void QList::replace(qsizetype i, QList<T>::rvalue_ref value)

Sustituye el elemento en la posición de índice i por value.

i debe ser una posición de índice válida en la lista (es decir, 0 <= i < size()).

Véase también operator[]() y remove().

void QList::reserve(qsizetype size)

Intenta asignar memoria para al menos size elementos.

Si sabes de antemano el tamaño que tendrá la lista, deberías llamar a esta función para evitar reasignaciones y fragmentación de memoria. Si redimensionas la lista a menudo, también es probable que obtengas un mejor rendimiento.

En caso de duda sobre cuánto espacio se necesitará, suele ser mejor utilizar un límite superior como size, o una estimación alta del tamaño más probable, si un límite superior estricto fuera mucho mayor que éste. Si size es una subestimación, la lista crecerá según sea necesario una vez que se supere el tamaño reservado, lo que puede llevar a una asignación mayor que la que tendría su mejor sobreestimación y ralentizará la operación que la desencadena.

Advertencia: reserve() reserva memoria pero no cambia el tamaño de la lista. Acceder a datos más allá del final actual de la lista es un comportamiento indefinido. Si necesita acceder a memoria más allá del final actual de la lista, utilice resize().

Véase también squeeze(), capacity() y resize().

[since 6.0] void QList::resize(qsizetype size)

[since 6.0] void QList::resize(qsizetype size, QList<T>::parameter_type c)

Establece el tamaño de la lista en size. Si size es mayor que el tamaño actual, se añaden elementos al final; los nuevos elementos se inicializan con un valor construido por defecto o con c. Si size es menor que el tamaño actual, se eliminan elementos del final.

Si esta lista no se comparte, se conserva capacity(). Utilice squeeze() para deshacerse del exceso de capacidad.

Nota: En versiones de Qt anteriores a la 5.7 (para QVector; QList careció de resize() hasta la 6.0), esta función liberaba la memoria utilizada por la lista en lugar de preservar la capacidad.

Estas funciones se introdujeron en Qt 6.0.

Véase también size().

[since 6.8] void QList::resizeForOverwrite(qsizetype size)

Establece el tamaño de la lista en size. Si size es menor que el tamaño actual, se eliminan elementos del final. Si size es mayor que el tamaño actual, se añaden elementos al final; QList hará un intento de no inicializar estos nuevos elementos.

Específicamente:

  • si T tiene un constructor que acepta Qt::Uninitialized, se utilizará ese constructor para inicializar los elementos;
  • de lo contrario, cada elemento se construye por defecto. Para tipos trivialmente construibles (como int, float, etc.) esto es equivalente a no inicializarlos.

Esta función se introdujo en Qt 6.8.

void QList::shrink_to_fit()

Esta función se proporciona por compatibilidad con STL. Es equivalente a squeeze().

[constexpr noexcept] qsizetype QList::size() const

Devuelve el número de elementos de la lista.

Véase también isEmpty() y resize().

[since 6.0] QList<T> QList::sliced(qsizetype pos, qsizetype n) const

Devuelve una sublista que contiene n elementos de esta lista, comenzando en la posición pos.

Nota: El comportamiento es indefinido cuando pos < 0, n < 0, o pos + n > size().

Esta función se introdujo en Qt 6.0.

Véase también first() y last().

[since 6.0] QList<T> QList::sliced(qsizetype pos) const

Devuelve una sublista que contiene los elementos de esta lista comenzando en la posición pos y extendiéndose hasta su final.

Nota: El comportamiento es indefinido cuando pos < 0 o pos > size().

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.0.

Véase también first() y last().

void QList::squeeze()

Libera la memoria no necesaria para almacenar los elementos.

El único propósito de esta función es proporcionar un medio para ajustar el uso de memoria de QList. En general, rara vez necesitará llamar a esta función.

Véase también reserve() y capacity().

bool QList::startsWith(QList<T>::parameter_type value) const

Devuelve true si esta lista no está vacía y su primer elemento es igual a value; en caso contrario devuelve false.

Véase también isEmpty() y first().

[noexcept] void QList::swap(QList<T> &other)

Intercambia esta lista con other. Esta operación es muy rápida y nunca falla.

void QList::swapItemsAt(qsizetype i, qsizetype j)

Intercambia el elemento en la posición de índice i con el elemento en la posición de índice j. Esta función asume que tanto i como j son al menos 0 pero menores que size(). Para evitar fallos, compruebe que tanto i como j son al menos 0 y menores que size().

T QList::takeAt(qsizetype i)

Elimina el elemento en la posición del índice i y lo devuelve.

Equivale a

T t = at(i);
remove(i);
return t;

Nota: Cuando QList no está implícitamente compartido, esta función sólo invalida los iteradores en o después de la posición especificada.

Véase también takeFirst() y takeLast().

QList<T>::value_type QList::takeFirst()

Elimina el primer elemento de la lista y lo devuelve. Esta función asume que la lista no está vacía. Para evitar fallos, llame a isEmpty() antes de llamar a esta función.

Véase también takeLast() y removeFirst().

QList<T>::value_type QList::takeLast()

Elimina el último elemento de la lista y lo devuelve. Esta función asume que la lista no está vacía. Para evitar fallos, llame a isEmpty() antes de llamar a esta función.

Si no utiliza el valor devuelto, removeLast() es más eficiente.

Véase también takeFirst() y removeLast().

T QList::value(qsizetype i) const

Devuelve el valor en la posición del índice i en la lista.

Si el índice i está fuera de los límites, la función devuelve un valor construido por defecto. Si está seguro de que i está dentro de los límites, puede utilizar at() en su lugar, que es ligeramente más rápido.

Véase también at() y operator[]().

T QList::value(qsizetype i, QList<T>::parameter_type defaultValue) const

Si el índice i está fuera de los límites, la función devuelve defaultValue.

Se trata de una función sobrecargada.

bool QList::operator!=(const QList<T> &other) const

Devuelve true si other no es igual a esta lista; en caso contrario devuelve false.

Dos listas se consideran iguales si contienen los mismos valores en el mismo orden.

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también operator==().

QList<T> QList::operator+(const QList<T> &other) const &

QList<T> QList::operator+(const QList<T> &other) &&

QList<T> QList::operator+(QList<T> &&other) const &

QList<T> QList::operator+(QList<T> &&other) &&

Devuelve una lista que contiene todos los elementos de esta lista seguidos de todos los elementos de la lista other.

Véase también operator+=().

QList<T> &QList::operator+=(const QList<T> &other)

Añade los elementos de la lista other a esta lista y devuelve una referencia a esta lista.

Véase también operator+() y append().

[since 6.0] QList<T> &QList::operator+=(QList<T> &&other)

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.0.

Véase también operator+() y append().

QList<T> &QList::operator+=(QList<T>::parameter_type value)

Añade value a la lista.

Se trata de una función sobrecargada.

Véase también append() y operator<<().

QList<T> &QList::operator+=(QList<T>::rvalue_ref value)

Se trata de una función sobrecargada.

Véase también append() y operator<<().

bool QList::operator<(const QList<T> &other) const

Devuelve true si esta lista es léxicamente menor que other; en caso contrario devuelve false.

Esta función requiere que el tipo de valor tenga una implementación de operator<().

QList<T> &QList::operator<<(QList<T>::parameter_type value)

Añade value a la lista y devuelve una referencia a esta lista.

Véase también append() y operator+=().

QList<T> &QList::operator<<(const QList<T> &other)

Añade other a la lista y devuelve una referencia a la lista.

[since 6.0] QList<T> &QList::operator<<(QList<T> &&other)

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.0.

QList<T> &QList::operator<<(QList<T>::rvalue_ref value)

Se trata de una función sobrecargada.

Véase también append() y operator+=().

bool QList::operator<=(const QList<T> &other) const

Devuelve true si esta lista es léxicamente menor o igual que other; en caso contrario devuelve false.

Esta función requiere que el tipo de valor tenga una implementación de operator<().

[default] QList<T> &QList::operator=(QList<T> &&other)

Mover-asigna other a esta instancia QList.

[default] QList<T> &QList::operator=(const QList<T> &other)

Asigna other a esta lista y devuelve una referencia a esta lista.

QList<T> &QList::operator=(std::initializer_list<T> args)

Asigna la colección de valores en args a esta instancia QList.

bool QList::operator==(const QList<T> &other) const

Devuelve true si other es igual a esta lista; en caso contrario devuelve false.

Dos listas se consideran iguales si contienen los mismos valores en el mismo orden.

Esta función requiere que el tipo de valor tenga una implementación de operator==().

Véase también operator!=().

bool QList::operator>(const QList<T> &other) const

Devuelve true si esta lista es léxicamente mayor que other; en caso contrario devuelve false.

Esta función requiere que el tipo de valor tenga una implementación de operator<().

bool QList::operator>=(const QList<T> &other) const

Devuelve true si esta lista es léxicamente mayor o igual que other; en caso contrario devuelve false.

Esta función requiere que el tipo de valor tenga una implementación de operator<().

QList<T>::reference QList::operator[](qsizetype i)

Devuelve el elemento en la posición de índice i como referencia modificable.

i debe ser una posición de índice válida en la lista (es decir, 0 <= i < size()).

Tenga en cuenta que el uso de operadores no-const puede hacer que QList realice una copia profunda.

Véase también at() y value().

[noexcept] QList<T>::const_reference QList::operator[](qsizetype i) const

Igual que at(i).

Se trata de una función sobrecargada.

No miembros relacionados

[since 6.1] template <typename T, typename AT> qsizetype erase(QList<T> &list, const AT &t)

Elimina todos los elementos que se comparan igual a t de la lista list. Devuelve el número de elementos eliminados, si los hay.

Nota: A diferencia de QList::removeAll, no se permite que t sea una referencia a un elemento dentro de list. Si no puede estar seguro de que este no es el caso, tome una copia de t y llame a esta función con la copia.

Esta función se introdujo en Qt 6.1.

Véase también QList::removeAll() y erase_if.

[since 6.1] template <typename T, typename Predicate> qsizetype erase_if(QList<T> &list, Predicate pred)

Elimina todos los elementos para los que el predicado pred devuelve verdadero de la lista list. Devuelve el número de elementos eliminados, si los hay.

Esta función se introdujo en Qt 6.1.

Véase también erase.

[noexcept(...)] template <typename T> size_t qHash(const QList<T> &key, size_t seed = 0)

Devuelve el valor hash para key, utilizando seed para sembrar el cálculo.

El tipo T debe estar soportado por qHash().

Nota: Esta función es noexcept cuando noexcept(qHashRange(key.cbegin(), key.cend(), seed)) es true.

template <typename T> QDataStream &operator<<(QDataStream &out, const QList<T> &list)

Escribe la lista list en el flujo out.

Esta función requiere que el tipo de valor implemente operator<<().

Ver también Formato de los operadores QDataStream.

[since 6.9] auto operator<=>(const QList<T> &lhs, const QList<T> &rhs)

Compara los contenidos de lhs y rhs lexicográficamente. Devuelve el resultado del tipo de categoría aplicable más fuerte, es decir decltype(lhs[0] <=> rhs[0]) si operator<=>() está disponible para el tipo T; en caso contrario std::weak_ordering.

Nota: Este operador sólo está disponible en modo C++20, y cuando el tipo subyacente T modela el concepto std::three_way_comparable o proporciona operator<().

Esta función se introdujo en Qt 6.9.

template <typename T> QDataStream &operator>>(QDataStream &in, QList<T> &list)

Lee una lista del flujo in a list.

Esta función requiere que el tipo de valor implemente operator>>().

Véase también Formato de los operadores QDataStream.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.