• 容器


    QList:

     1 #include "dialog.h"  //用户自定义控件
     2 #include <QApplication>  //这个头文件是应用程序必须的
     3 #include <QDebug>
     4 #include <QList>
     5 
     6 int main(int argc, char *argv[])
     7 {
     8 
     9     QList<QString> list;
    10     //这样的定义方式下,list相当于C++中的 string[]
    11 
    12     list << QString("This is a 1 test string");
    13     list << QString("This is a 2 test string");
    14 
    15     qDebug()<< list[1] << "How are you! ";
    16 
    17     QList<int> list_1; //相当于定义了int[] list
    18     list_1.insert(0,1);
    19     list_1.insert(1,2);
    20 
    21     qDebug()<< list_1[1];
    22 
    23     /*遍历*/
    24     QList<int> alist;
    25     alist<<1<<2<<3<<4<<5;
    26 
    27     QListIterator<int> i(alist); //定义迭代器
    28     /*
    29      * toFront(),移动迭代点到列表前面。
    30      * hasNext(),检查当前迭代点之后是否还有列表项。
    31      * next(),向后移动一个单位迭代点,同时返回其列表项
    32      */
    33     for(i.toFront();i.hasNext();){
    34         qDebug()<<i.next();
    35     }
    36 
    37     //遍历2,STL风格迭代方式
    38     QList<int>::iterator j;
    39     for(j=alist.begin();j!=alist.end();j++){
    40         qDebug()<<(*j);
    41     }
    42 
    43     return 0;
    44 }

     QMap:

     1 #include "dialog.h"  //用户自定义控件
     2 #include <QApplication>  //这个头文件是应用程序必须的
     3 #include <QDebug>
     4 #include <QList>
     5 
     6 int main(int argc, char *argv[])
     7 {
     8 
     9     QMap<QString,QString> map;
    10     map.insert("beijing","001");
    11     map.insert("chengdu","002");
    12     map.insert("shanghai","003");
    13 
    14     /*
    15      * 遍历key时,调用QMapIterator<T,T>::key(),它不需要使迭代移动到下一个位置
    16      * 遍历value时,调用QMapIterator<T,T>::next()
    17      */
    18     QMapIterator<QString,QString> i(map);
    19     for(;i.hasNext();){
    20         qDebug()<<"( "<<i.key()<<" ,"<<i.next().value()<<")";
    21     }
    22 
    23     //修改其中的项
    24     QMutableMapIterator<QString,QString> mi(map);
    25     if(mi.findNext("002")){
    26         mi.setValue("100");
    27     }
    28 
    29     QMap<QString,QString>::iterator mt;
    30     mt = map.find("beijing");
    31     if(mt!=map.end()){
    32         mt.value() = "010";
    33     }
    34 
    35     //STL风格遍历方式
    36     QMap<QString,QString>:: const_iterator j;
    37     for(j=map.constBegin();j!=map.constEnd();j++){
    38         qDebug()<<j.key()<<","<<j.value();
    39     }
    40 
    41     return 0;
    42 }
    内在的趣味,表面的繁琐
  • 相关阅读:
    多态性与转型
    安装tensorflow
    MySQL基础补缺
    各种排序算法理解
    Ubuntu命令行变成白色
    开机显示grub命令
    E: 无法获得锁 /var/lib/dpkg/lock-frontend
    类与方法
    Java语言浅谈
    二进制数的有效讨论
  • 原文地址:https://www.cnblogs.com/data1213/p/10742131.html
Copyright © 2020-2023  润新知