IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QList

La classe QList est une classe g�n�rique fournissant des listes. Plus d'informations...

 #include <QList>

H�ritage

H�rit� par QItemSelection, QQueue, QSignalSpy, QStringList et QTestEventList.

Note : toutes les fonctions de cette classe sont r�entrantes.

Description d�taill�e

La classe QList est une classe g�n�rique fournissant des listes.

QList<T> est une des classes conteneur g�n�riques de Qt. Elle stocke une liste de valeur et fournit un acc�s index� rapide, ainsi que des insertions et suppressions rapides.

QList<T>, QLinkedList<T> et QVector<T> fournissent des fonctions similaires. En voici une vue d'ensemble.

  • Dans la plupart des cas, QList est la bonne classe � utiliser. Son API bas�e sur les index est plus pratique que l'API de QLinkedList bas� sur un it�rateur et est g�n�ralement plus rapide que QVector du fait de la fa�on dont QList stocke ses �l�ments en m�moire. Elle produit �galement moins de code dans votre ex�cutable.
  • Si vous avez besoin d'une vraie liste cha�n�e avec les garanties d'insertions en temps constant au milieu de la liste et d'it�rateurs sur les �l�ments plut�t que d?index, utilisez QLinkedList.
  • Si vous voulez que les �l�ments occupent des positions adjacentes en m�moire, utilisez QVector.

En interne, QList<T> est repr�sent� par un tableau de pointeurs d'�l�ments de type T. Si T est lui-m�me un type pointeur ou un type de base qui n'est pas plus grand qu'un pointeur, ou si T est une des classes implicitement partag�es de Qt, alors QList<T> stocke les �l�ments directement dans le tableau de pointeurs. Pour les listes de moins de mille �l�ments, cette repr�sentation en tableau permet des insertions rapides au milieu de la liste et permet un acc�s index�. De plus, des op�rations telles que prepend() et append() sont tr�s rapides du fait que QList pr�alloue de la m�moire de chaque c�t� de son tableau interne (voir Algorithmic Complexity pour des d�tails). Notez cependant que pour une liste non partag�e d'�l�ments plus gros qu'un pointeur, chaque ajout d'un nouvel �l�ment n�cessite l'allocation de l'�l�ment dans le tas et que cette allocation par �l�ment pourrait faire de QVector un meilleur choix dans le cas o� vous feriez de nombreuses insertions, �tant donn� que QVector alloue la m�moire pour ses �l�ments en une seule allocation dans le tas.

Notez que le tableau interne ne fait que grandir pendant la vie de la liste. Il ne r�tr�cit jamais. Le tableau interne est d�sallou� par le destructeur et par l'op�rateur d'affectation quand la liste est affect�e � une autre.

Voici un exemple d'une QList qui stocke des entiers et d'une QList qui stocke des QDate.

 QList<int> integerList;
 QList<QDate> dateList;

Qt inclut une classe QStringList qui h�rite de QList<QString> et ajoute quelques fonctions de commodit�s telles que QStringList::join() et QStringList::find() (QString::split() cr�e une QStringList � partir d'un QString).

QList stocke une liste d'�l�ments. Le constructeur par d�faut cr�e une liste vide. Pour ins�rer des �l�ments dans la liste, vous pouvez utiliser operator<<() :

 QList<QString> list;
 list << "one" << "two" << "three";
 // list: ["one", "two", "three"]

QList fournit ces fonctions de base pour ajouter, d�placer et supprimer des �l�ments : insert(), replace(), removeAt(), move() et swap(). En plus, elle fournit ces fonctions de commodit�s : append(), prepend(), removeFirst() et removeLast().

QList utilise des indices partant de 0, exactement comme les tableaux C++. Pour acc�der � l'�l�ment � une position particuli�re, vous pouvez utiliser operator[](). Pour les listes non constantes, operator[]() retourne une r�f�rence � l'�l�ment et peut �tre utilis� sur partie gauche d'une op�ration d'affectation :

 if (list[0] == "Bob")
     list[0] = "Robert";

Gr�ce au fait que QList est impl�ment�e sous forme d'un tableau de pointeurs, cette op�ration est tr�s rapide (en temps constant). Pour des acc�s en lecture seule, une syntaxe alternative est at():

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

at() peut �tre plus rapide que operator[]() car il n'utilise jamais de copie en profondeur.

Une utilisation courante est de supprimer un �l�ment d'une liste et de faire quelque chose avec. Pour cela, QList fournit takeAt(), takeFirst() et takeLast(). Voici une boucle qui supprime les �l�ments d'une liste un par un et appelle delete sur eux :

 QList<QWidget *> list;
 ...
 while (!list.isEmpty())
     delete list.takeFirst();

Les insertions et les suppressions de chaque c�t� de la liste sont tr�s rapides (en temps constant dans la plupart des cas), car QList pr�alloue de l'espace suppl�mentaire des deux c�t�s de son tampon interne pour permettre un agrandissement rapide des deux c�t�s de la liste.

Si vous souhaitez trouver toutes les occurrences d'une valeur particuli�re dans une liste, utilisez indexOf() ou lastIndexOf(). La premi�re cherche vers la fin � partir d'une position d'index donn�, la deuxi�me cherche vers le d�but. Les deux retournent l'index de l'�l�ment trouv�, si elles le trouvent ; sinon, elles retournent -1. Par exemple :

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

Si vous souhaitez simplement savoir si une liste contient une valeur particuli�re, utilisez contains(). Si vous souhaitez savoir combien de fois une valeur particuli�re appara�t dans la liste, utilisez count(). Si vous souhaitez remplacer toutes les occurrences d'une valeur particuli�re par une autre, utilisez replace().

Le type de la valeur de la QList doit �tre un type de donn�es affectable. Ceci inclut la plupart des types de donn�es couramment utilis�s, mais le compilateur ne vous permettra pas, par exemple, d'enregistrer un QWidget comme valeur ; enregistrez un QWidget * � la place. Quelques fonctions ont des pr�requis suppl�mentaires ; par exemple, indexOf() et lastIndexOf() demandent au type valeur de g�rer operator==(). Ces pr�requis sont document�s pour chaque fonction.

Comme les autres classes conteneur, QList fournit des it�rateurs dans le style Java (QListIterator et QMutableListIterator) et des it�rateurs dans le style STL (QList::const_iterator et QList::iterator). En pratique, ces derniers sont rarement utilis�s car vous pouvez utiliser les index dans la QList. La fa�on dont QList est impl�ment�e fait que l'acc�s index� direct est aussi rapide que l'usage d'it�rateurs.

QList ne g�re pas les ajouts ou remplacements avec des r�f�rences sur ses propres valeurs. Ces op�rations causeront l'interruption de votre application avec un message d'erreur.

Pour rendre QList aussi efficace que possible, ses fonctions membres ne valident pas les entr�es avant de les utiliser. Toutes les fonctions membres, sauf isEmpty(), supposent que la liste n'est pas vide. Les fonctions membres qui utilisent la valeur de l'index en tant que param�tre supposent toujours que la valeur de l'index est dans une port�e valide. Cela signifie que les membres de QList peuvent �chouer. Si vous d�finissez QT_NO_DEBUG quand vous compilez, les �checs ne seront pas d�tect�s. Si vous ne d�finissez pas QT_NO_DEBUG, les �checs seront d�tect�s en utilisant Q_ASSERT() ou Q_ASSERT_X() avec un message appropri�.

Afin d'�viter les erreurs quand votre liste est vide, appelez isEmpty() avant d'appeler d'autres fonctions membres. Si vous �tes oblig�s de passer une valeur d'index qui pourrait ne pas �tre dans une port�e valide, v�rifiez si elle est inf�rieure � la valeur retourn�e par size() mais pas inf�rieure � 0.

Voir aussi QListIterator, QMutableListIterator, QLinkedList et QVector.

Type

typedef QList::ConstIterator

Synonyme dans le style Qt-style de QList::const_iterator.

typedef QList::Iterator

Synonyme dans le style Qt-style de QList::iterator.

typedef QList::const_pointer

Typedef pour const T *. Fourni pour la compatibilit� avec la STL.

typedef QList::const_reference

Typedef pour const T &. Fourni pour la compatibilit� avec la STL.

typedef QList::difference_type

Typedef pour ptrdiff_t. Fourni pour la compatibilit� avec la STL.

typedef QList::pointer

Typedef pour T *. Fourni pour la compatibilit� avec la STL.

typedef QList::reference

Typedef pour T &. Fourni pour la compatibilit� avec la STL.

typedef QList::size_type

Typedef pour int. Fourni pour la compatibilit� avec la STL.

typedef QList::value_type

Typedef pour T. Fourni pour la compatibilit� avec la STL.

Fonctions membres

QList::QList ()

Construit une liste vide.

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

Construit une copie de other.

Cette op�ration prend un temps constant parce que QList est partag�e implicitement. Cela rend le retour d'une QList par une fonction tr�s rapide. Si une occurrence partag�e est modifi�e, elle sera copi�e (copy-on-write) et cela prendra un temps lin�aire.

Cette op�ration prend un temps constant car QList est partag�e implicitement. Cela rend le retour d'une QList par une fonction tr�s rapide. Si une instance partag�e est modifi�e, elle sera copi�e (copy-on-write) et cela prendra un temps lin�aire.

Voir aussi operator=().

QList::~QList ()

D�truit la liste. Les r�f�rences � des valeurs dans la liste ainsi que tous les it�rateurs de la liste deviennent invalides.

void QList::append ( const T & value )

Ins�re value � la fin de la liste.

Exemple:

 QList<QString> liste;
 liste.append("un");
 liste.append("deux");
 liste.append("trois");
 // liste: ["un", "deux", "trois"]

C'est �quivalent � : liste.insert(size(), value).

Cette op�ration est habituellement tr�s rapide (en temps constant), parce que QList pr�alloue de l'espace de chaque c�t� de son tampon interne pour permettre un agrandissement rapide de chaque c�t� de la liste.

Voir aussi operator<<(), prepend() et insert().

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

Il s'agit d'une fonction surcharg�e.

Ajoute � la fin de cette liste les �l�ments de la liste value.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi operator<<() et operator+=().

const T & QList::at ( int i ) const

Retourne l'�l�ment situ� � la position i dans la liste. i doit �tre une position valide dans la liste (soit, 0 < = i < size()).

Cette fonction est tr�s rapide (en temps constant).

Voir aussi value() et operator[]().

T & QList::back ()

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de last(). La liste ne doit pas �tre vide. S'il est possible que votre liste soit vide, appelez la fonction isEmpty() avant d'appeler cette fonction.

const T & QList::back () const

Il s'agit d'une fonction surcharg�e.

iterator QList::begin ()

Retourne un it�rateur dans le style STL pointant sur le premier �l�ment de la liste.

Voir aussi constBegin() et end().

const_iterator QList::begin () const

Il s'agit d'une fonction surcharg�e.

void QList::clear ()

Supprime tous les �l�ments de liste.

Voir aussi removeAll().

const_iterator QList::constBegin () const

Retourne un it�rateur dans le style STL pointant sur le premier �l�ment de la liste.

Voir aussi begin() et constEnd().

const_iterator QList::constEnd () const

Retourne un it�rateur dans le style STL constant pointant sur l'�l�ment imaginaire suivant le dernier �l�ment de la liste.

Voir aussi constBegin() et end().

bool QList::contains ( const T & value ) const

Retourne true si la liste contient une occurrence de value. Sinon, retourne false.

Cette fonction n�cessite que le type de la valeur impl�mente operator==().

Voir aussi indexOf() et count().

int QList::count ( const T & value ) const

Retourne le nombre d'occurrences de value dans la liste.

Cette fonction n�cessite que le type de la valeur impl�mente operator==().

Voir aussi contains() et indexOf().

int QList::count () const

Retourne le nombre d'�l�ments dans la liste. C'est en fait la m�me fonction membre que size().

bool QList::empty () const

Cette fonction est fournie pour la compatibilit� avec la STL. Elle est �quivalente � isEmpty() et retourne true si la liste est vide.

iterator QList::end ()

Retourne un it�rateur dans le style STL pointant sur l'�l�ment imaginaire suivant le dernier �l�ment de la liste.

Voir aussi begin() et constEnd().

const_iterator QList::end () const

Il s'agit d'une fonction surcharg�e.

bool QList::endsWith ( const T & value ) const

Retourne true si la liste n'est pas vide et que son dernier �l�ment est �gal � value. Sinon, retourne false.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi isEmpty() et contains().

iterator QList::erase ( iterator pos )

Retire l'�l�ment associ� � l'it�rateur pos de la liste et retourne un it�rateur sur le prochain �l�ment de la liste (qui peut �tre end())

Voir aussi insert() et removeAt().

iterator QList::erase ( iterator begin, iterator end )

Il s'agit d'une fonction surcharg�e.

Retire tous les �l�ments depuis begin jusqu'� (mais excluant) end. Retourne un it�rateur sur l'�l�ment qui �tait r�f�renc� par end avant l'appel.

T & QList::first ()

Retourne une r�f�rence au premier �l�ment de la liste. La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

Voir aussi last() and isEmpty().

const T & QList::first () const

Il s'agit d'une fonction surcharg�e.

QList<T> QList::fromSet ( const QSet<T> & set ) [static]

Retourne un objet QList avec les donn�es contenues dans un set. L'ordre des �l�ments de la QList est ind�fini.

Exemple :

 QSet<int> set;
 set << 20 << 30 << 40 << ... << 70;
 
 QList<int> list = QList<int>::fromSet(set);
 qSort(list);

Voir aussi fromVector(), toSet(), QSet::toList() et qSort().

QList<T> QList::fromStdList ( const std::list<T> & list ) [static]

Retourne un objet QList contenant les donn�es de list. L'ordre des �l�ments dans la QList est identique � celui de list.

Exemple :

 std::list<double> stdlist;
 list.push_back(1.2);
 list.push_back(0.5);
 list.push_back(3.14);
 
 QList<double> list = QList<double>::fromStdList(stdlist);

Voir aussi toStdList() et QVector::fromStdVector().

QList<T> QList::fromVector ( const QVector<T> & vector ) [static]

Retourne un objet QList contenant les donn�es de vector.

Exemple :

 QVector<double> vect;
 vect << 20.0 << 30.0 << 40.0 << 50.0;
 
 QList<double> list = QVector<T>::fromVector(vect);
 // list: [20.0, 30.0, 40.0, 50.0]

Voir aussi fromSet(), toVector() et QVector::toList().

T & QList::front ()

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de first(). La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

const T & QList::front () const

Il s'agit d'une fonction surcharg�e.

int QList::indexOf ( const T & value, int from = 0 ) const

Retourne l'index de la premi�re occurrence de la valeur value dans la liste, en recherchant vers la fin de la liste depuis l'index from. Retourne -1 si aucune valeur ne correspond.

Exemple :

 QList<QString> list;
 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

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Notez que QList utilise des index bas�s sur 0, comme les tableaux C++. Les index n�gatifs ne sont pas g�r�s � l'exception de la valeur de l'exemple ci-dessus.

Voir aussi lastIndexOf() et contains().

void QList::insert ( int i, const T & value )

Ins�re value � la position d'index i dans la liste. Si i vaut 0, la valeur est ajout�e en d�but de liste. Si i vaut size(), la valeur est ajout�e en fin de liste.

Exemple :

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

Voir aussi append(), prepend(), replace() et removeAt().

iterator QList::insert ( iterator before, const T & value )

Il s'agit d'une fonction surcharg�e.

Ins�re value avant l'�l�ment point� par l'it�rateur before. Retourne un it�rateur pointant sur l'�l�ment ins�r�. Notez que l'it�rateur pass� � la fonction sera invalide apr�s l'appel ; il faut utiliser l'it�rateur retourn� � la place.

bool QList::isEmpty () const

Retourne true si la liste ne contient pas d'�l�ments, sinon retourne false.

Voir aussi size().

T & QList::last ()

Retourne une r�f�rence au dernier �l�ment de la liste. La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

Voir aussi first() and isEmpty().

const T & QList::last () const

Il s'agit d'une fonction surcharg�e.

int QList::lastIndexOf ( const T & value, int from = -1 ) const

Retourne l'index de la derni�re occurrence de la valeur value dans la liste, en recherchant vers le d�but de la liste depuis l'index from. Si from vaut -1 (la valeur par d�faut), la recherche commence au dernier �l�ment. Retourne -1 si aucune valeur ne correspond.

Exemple :

 QList<QString> list;
 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

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Notez que QList utilise des index bas�s sur 0, comme les tableaux C++. Les index n�gatifs ne sont pas g�r�s � l'exception de la valeur de l'exemple ci-dessus.

Voir aussi indexOf().

int QList::length () const

Cette fonction est identique � count().

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi count().

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

Retourne une liste dont les �l�ments sont copi�s depuis cette liste, en commen�ant � la position pos. Si length vaut -1 (la valeur par d�faut), tous les �l�ments � partir de pos sont copi�s ; sinon length �l�ments (ou tous les �l�ments restants s'il y a moins de length �l�ments) sont copi�s.

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

D�place l'�l�ment � la position d'index from � la position d'index to.

Exemple :

 QList<QString> list;
 list << "A" << "B" << "C" << "D" << "E" << "F";
 list.move(1, 4);
 // list: ["A", "C", "D", "E", "B", "F"]

C'est l'�quivalent de insert(to, takeAt(from)). Cette fonction suppose que from et to sont tous les deux sup�rieurs ou �gaux � 0 mais inf�rieurs � size(). Pour �viter un �chec, testez que from et to sont sup�rieurs ou �gaux � 0 et inf�rieurs � size().

Voir aussi swap(), insert() et takeAt().

void QList::pop_back ()

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de removeLast(). La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

void QList::pop_front ()

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de removeFirst(). La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

void QList::prepend ( const T & value )

Ins�re value au d�but de la liste.

Exemple :

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

C'est �quivalent � : list.insert(0, value).

Cette op�ration est habituellement tr�s rapide (en temps constant), parce que QList pr�alloue de l'espace de chaque c�t� de son tampon interne pour permettre un agrandissement rapide de chaque c�t� de la liste.

Voir aussi append() et insert().

void QList::push_back ( const T & value )

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de append(value).

void QList::push_front ( const T & value )

Cette fonction est fournie pour assurer la compatibilit� avec la STL. C'est l'�quivalent de prepend(value).

int QList::removeAll ( const T & value )

Retire toutes les occurrences de value de la liste et retourne le nombre d'�l�ments retir�s.

Exemple :

 QList<QString> list;
 list << "sun" << "cloud" << "sun" << "rain";
 list.removeAll("sun");
 // list: ["cloud", "rain"]

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Voir aussi removeOne(), removeAt(), takeAt() et replace().

void QList::removeAt ( int i )

Retire l'�l�ment � la position d'index i. i doit �tre une position d'index valide dans la liste (c'est-�-dire : 0 <= i < size()).

Voir aussi takeAt(), removeFirst(), removeLast() et removeOne().

void QList::removeFirst ()

Retire le premier �l�ment de la liste. L'appel de cette fonction est �quivalent � l'appel de removeAt(0). La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

Voir aussi removeAt() and takeFirst().

void QList::removeLast ()

Retire le dernier �l�ment de la liste. L'appel de cette fonction est �quivalent � l'appel de removeAt(size() - 1). La liste ne doit pas �tre vide. Si la liste peut �tre vide, appelez isEmpty() avant d'appeler cette fonction.

Voir aussi removeAt() et takeLast().

bool QList::removeOne ( const T & value )

Retire la premi�re occurrence de value de la liste et retourne true en cas de succ�s ; sinon, retourne false.

Exemple :

 QList<QString> list;
 list << "sun" << "cloud" << "sun" << "rain";
 list.removeOne("sun");
 // list: ["cloud", ,"sun", "rain"]

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi removeAll(), removeAt(), takeAt() et replace().

void QList::replace ( int i, const T & value )

Remplace l'�l�ment � la position d'index i par la valeur value. i doit �tre une position d'index valide dans la liste (c'est-�-dire : 0 <= i < size()).

Voir aussi operator[]() et removeAt().

void QList::reserve ( int alloc )

R�serve de l'espace pour alloc �l�ments.

Si alloc est plus petit que la taille courante de la liste, rien ne se passe.

Utilisez cette fonction pour �viter l'allocation r�p�titive des donn�es internes de QList si vous pouvez pr�dire combien d'�l�ments seront ajout�s. Notez que la r�servation ne s'applique qu'au tableau interne de pointeurs.

Cette fonction a �t� introduite dans Qt 4.7.

int QList::size () const

Retourne le nombre d'�l�ments de la liste.

Voir aussi isEmpty() et count().

bool QList::startsWith ( const T & value ) const

Retourne true si cette liste n'est pas vide et que son premier �l�ment est �gal � value ; sinon retourne false.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi isEmpty() et contains().

void QList::swap ( int i, int j )

�change l'�l�ment � la position d'index i avec l'�l�ment � la position d'index j. Cette fonction suppose que from et to sont tous les deux sup�rieurs ou �gaux � 0 mais inf�rieurs � size(). Pour �viter un �chec, testez que from et to sont sup�rieurs ou �gaux � 0 et inf�rieurs � size().

Exemple :

 QList<QString> list;
 list << "A" << "B" << "C" << "D" << "E" << "F";
 list.swap(1, 4);
 // list: ["A", "E", "C", "D", "B", "F"]

Voir aussi move().

T QList::takeAt ( int i )

Retire l'�l�ment � la position d'index i et le retourne. i doit �tre une position d'index valide dans la liste (c'est-�-dire : 0 <= i < size()).

Si vous n'utilisez pas la valeur de retour, removeAt() est plus performante.

Voir aussi removeAt(), takeFirst() et takeLast().

T QList::takeFirst ()

Retire le premier �l�ment i et le retourne. C'est l'�quivalent de takeAt(0). Cette fonction suppose que la liste n'est pas vide. Pour �viter un �chec, appelez isEmpty() avant d'appeler cette fonction.

Cette op�ration s'effectue en temps constant.

Si vous n'utilisez pas la valeur de retour, removeFirst() est plus performante.

Voir aussi takeLast(), takeAt() et removeFirst().

T QList::takeLast ()

Retire le dernier �l�ment i et le retourne. C'est l'�quivalent de takeAt(size() - 1). Cette fonction suppose que la liste n'est pas vide. Pour �viter un �chec, appelez isEmpty() avant d'appeler cette fonction.

Cette op�ration s'effectue en temps constant.

Si vous n'utilisez pas la valeur de retour, removeLast() est plus performante.

Voir aussi takeFirst(), takeAt() et removeLast().

QSet<T> QList::toSet () const

Retourne un objet QSet avec les donn�es contenues dans cette QList. �tant donn� que QSet n'autorise pas les duplications, le QSet r�sultant peut �tre plus petit que la liste originale.

Exemple :

 QStringList list;
 list << "Julia" << "Mike" << "Mike" << "Julia" << "Julia";
 
 QSet<QString> set = list.toSet();
 set.contains("Julia");  // retourne true
 set.contains("Mike");   // retourne true
 set.size();             // retourne 2

Voir aussi toVector(), fromSet() et QSet::fromList().

std::list<T> QList::toStdList () const

Retourne un objet std::list avec les donn�es contenues dans cette QList.

Exemple :

 QList<double> list;
 list << 1.2 << 0.5 << 3.14;
 
 std::list<double> stdlist = list.toStdList();

Voir aussi fromStdList() et QVector::toStdVector().

QVector<T> QList::toVector () const

Retourne un objet QVector avec les donn�es contenues dans cette QList.

Exemple :

 QStringList list;
 list << "Sven" << "Kim" << "Ola";
 
 QVector<QString> vect = list.toVector();
 // vect: ["Sven", "Kim", "Ola"]

Voir aussi toSet(), fromVector() et QVector::fromList().

T QList::value ( int i ) const

Retourne la valeur � la position d'index i dans la liste.

Si l'index i sort des bornes de la liste, la fonction retourne une valeur construite par d�faut. Si vous �tes certain que l'index sera dans les bornes de la liste, vous pouvez utiliser at(), qui est un peu plus rapide, � la place.

Voir aussi at() et operator[]().

T QList::value ( int i, const T & defaultValeur ) const

Il s'agit d'une fonction surcharg�e.

Si l'index i sort des bornes de la liste, la fonction retourne defaultValeur.

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

Retourne true si other n'est pas �gale � cette liste, sinon retourne false.

Les deux listes sont consid�r�es comme �gales si elles contiennent les m�mes valeurs dans le m�me ordre.

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Voir aussi operator==().

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

Retourne une liste contenant tous les �l�ments de cette liste suivis par tous les �l�ments de la liste other.

Voir aussi operator+=().

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

Ajoute les �l�ments de la liste other � cette liste et retourne une r�f�rence � cette liste.

Voir aussi operator+() et append().

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

Il s'agit d'une fonction surcharg�e.

Ajoute value � la fin de cette liste.

Voir aussi append() et operator<<().

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

Ajoute les �l�ments de la liste other � la fin de cette liste et retourne une r�f�rence � cette liste.

Voir aussi operator+=() et append().

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

Il s'agit d'une fonction surcharg�e.

Ajoute value � la fin de la liste.

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

Affecte other � cette liste et retourne une r�f�rence � cette liste.

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

Retourne true si other est �gale � cette liste, sinon retourne false.

Les deux listes sont consid�r�es comme �gales si elles contiennent les m�mes valeurs dans le m�me ordre.

Cette fonction requiert l'impl�mentation de l'op�rateur operator==() par le type valeur.

Voir aussi operator!=().

T & QList::operator[] ( int i )

Retourne l'�l�ment situ� � la position i de l'index en tant que r�f�rence modifiable. i doit �tre une position valide dans la liste (soit 0 < = i < size()).

Cette fonction est tr�s rapide (temps constant).

Voir aussi at() et value().

const T & QList::operator[] ( int i ) const

Il s'agit d'une fonction surcharg�e.

Identique � at().

En relation mais non membres de la classe

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

�crit la liste list dans le flux out.

Cette fonction requiert l'impl�mentation de l'op�rateur operator<<() par le type valeur.

Voir aussi Format des op�rateurs QDataStream.

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

Lit une liste depuis le flux in vers list.

Cette fonction requiert l'impl�mentation de l'op�rateur operator>>() par le type valeur.

Voir aussi Format des op�rateurs de QDataStream.

Remerciements

Merci � Jerome S., ainsi qu'� Ilya Diallo et Claude Leloup pour la traduction !

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !