QMutableListIterator<T> allows you to iterate over a QList<T> (or a QQueue<T>) and modify the list. If you don*t want to modify the list (or have a const QList), use the slightly faster QListIterator<T> instead.
QList<T>, QLinkedList<T>, and QVector<T> provide similar functionality. Here*s an overview: For most purposes, QList is the right class to use. Its index-based API is more convenient than QLinkedList*s iterator-based API, and it is usually faster than QVector because of the way it stores its items in memory (see Algorithmic Complexity for details). It also expands to less code in your executable. If you need a real linked list, with guarantees of constant time insertionsin the middle of the list and iterators to items rather than indexes, use QLinkedList. If you want the items to occupy adjacent memory positions, use QVector.