Qt学习——容器类QList和QMap

  这里容器类与C++和Java的容器类相差不多,主要看看是什么用法。这里只贴代码,就不做解析了。

1.QList<T>用法:
需要注意的是T只包括一些基本数值类型(比如int和double等)和Qt的一些数据类型(比如QString,QDate和QTime等)。Qt的QObject及其他的子类(比如QWidget和QDialog等)是不能够存储在容器类中的。 可替代方案是存储QObject及其子类的指针(如QList<QToolBar*> list;)。

view plain copy to clipboard print ?
  1. QList<int> list;   
  2. list<<1<<2<<3<<4<<5;  
  3. QList<int>::iterator i;  
  4. for(i=list.begin();i!=list.end();++i)   
  5. {   
  6.     qDebug()<<(*i);   
  7.     *i=(*i)+10;   
  8. }   
  9.     
QList<int> list; list<<1<<2<<3<<4<<5; QList<int>::iterator i; for(i=list.begin();i!=list.end();++i) { qDebug()<<(*i); *i=(*i)+10; }

2.QMap<key,T>的用法:  
这个比较好用,可以根据key查询value。在平常编程中我常用到这个和List。

view plain copy to clipboard print ?
  1. QMap<QString,QString> map;    
  2. map.insert("beijing","111");    
  3. map.insert("shanghai","021");    
  4. map.insert("jinan","0531");    
  5. QMap<QString,QString>::iterator i;    
  6. for(i=map.begin();i!=map.end();++i)    
  7. {   
  8.      qDebug()<<i.key()<<" "<<i.value();    
  9. }    
  10. i=map.find("beijing");    
  11. if(i!=map.end())   
  12. i.value()="010";  
QMap<QString,QString> map; map.insert("beijing","111"); map.insert("shanghai","021"); map.insert("jinan","0531"); QMap<QString,QString>::iterator i; for(i=map.begin();i!=map.end();++i) { qDebug()<<i.key()<<" "<<i.value(); } i=map.find("beijing"); if(i!=map.end()) i.value()="010";


3.还有其他的容器类:
比如QHash,QQueue,QLinkedList,QVector,QStack等。http://blog.csdn.net/a649518776/article/details/6630985

你可能感兴趣的:(java,编程,list,iterator,存储,qt)