Qt foreach關鍵字遍歷容器

超級大洋蔥806發表於2020-12-14

文章目錄

1.使用示例

#include <QCoreApplication>
#include <QList>
#include <QMap>
#include <QMultiMap>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QList<QString> list;
    list.insert(0, "A");
    list.insert(1, "B");
    list.insert(2, "C");

    qDebug() <<"the list is :";
    foreach (QString str, list) {   // 從list中獲取每一項
        qDebug() << str;            // 結果為A,B,C
    }

    QMap<QString,int> map;
    map.insert("first", 1);
    map.insert("second", 2);
    map.insert("third", 3);

    qDebug() << endl << "the map is :";
    foreach (QString str, map.keys())   // 從map中獲取每一個鍵
        // 輸出鍵和對應的值,結果為(first,1),(second,2),(third,3)
        qDebug() << str << " : " << map.value(str);

    QMultiMap<QString,int> map2;
    map2.insert("first", 1);
    map2.insert("first", 2);
    map2.insert("first", 3);
    map2.insert("second", 2);

    qDebug() << endl << "the map2 is :";
    QList<QString> keys = map2.uniqueKeys(); // 返回所有鍵的列表
    foreach (QString str, keys) {            // 遍歷所有的鍵
        foreach (int i, map2.values(str))    // 遍歷鍵中所有的值
            qDebug() << str << " : " << i;
    }// 結果為(first,3),(first,2),(first,1),(second,2)

    return a.exec();
}

執行效果:
在這裡插入圖片描述

相關文章