QMap

 一、

二、

void MainWindow::on_pushButton_clicked()
{

    QMap<int,QString> map;
    
    //添加数据
    map.insert(1,"1111");
    map.insert(2,"2222");
    map.insert(3,"3333");
    //另一种添加数据方式,可以直接使用
    map[4]="44444";

    //
    QMap<int,QString>::iterator it;
    for( it = map.begin(); it != map.end(); ++it )
    {
        qDebug()<<"key:"<<it.key();
        qDebug()<<"value:"<<it.value();
    }

    //直接key值读或修改
    qDebug()<<"value 1:"<<map[1];
    map[1]="aaaaaa";
    qDebug()<<"value 1:"<<map[1];


    //判断key值是否已经添加过
    if(map.contains(3))
    {
       map[3]="cccccc";
    }
    else
    {
       map.insert(3,"333333");
    }


    it=map.begin();
    while(it!=map.end())
    {
        qDebug()<<"key:"<<it.key();
        qDebug()<<"value:"<<it.value();
        it++;
    }

    //清除数据
    map.clear();

    //可以重新添加数据
    map.insert(1,"111111");

}

QMap默认是按照key值升序排序的

 QMap<int,float> test;
    test.insert(3,3.12f);
    test.insert(2,2.12f);
    test.insert(5,5.12f);
    test.insert(1,1.12f);
    test.insert(4,4.12f);
    test.insert(0,0.12f);

   QMap<int,float>::iterator it;
   for(it=test.begin();it!=test.end();++it)
   {
       qDebug()<<it.key()<<" "<<it.value();

   }



0   0.12
1   1.12
2   2.12
3   3.12
4   4.12
5   5.12
原文地址:https://www.cnblogs.com/ike_li/p/5168518.html