qt 的容器

个人感觉qt的容器很好用,也很简单。一下简单的总结一下我的使用经验。

  1. .连续容器

QVector,QLinkList,QList,QStringList

最常用的是QList和QStringList.常用的方法,append(),[],count(),at();

QList <int> list;

for(int i=0;i<10;i++)

list<<i; //等价于list.append(i);

访问其中一项可以用list[i],list.at(i);

QStringList strlist;//等价于QList<QString> strlist;同时使用上述一切方法。

 容器遍历问题!!!

 java风格和STL风格的迭代器:

java风格: 只读迭代器的《QListIterator <T>,QVectorIterator<T>》读写风格的《QMutableListIterator》等;

struct Film //只读迭代器

QList<Film> list;

QListIterator <Film> i(list);

while(i.hasNext())

{

   qDebug()<<i.next()

}java风格的本身并不是直接指向项,而是指向第一项之前和最后一项之后。

QList<int> intList;

QMutableIterator<int> i(intlist);

while(i.hasNext())

{

    if(i.next()<10)

         i.remove();// i.insert(1000);i.setValue(-10);可以修改,删除,增加新的项。

}

STL风格的迭代器

 

 

关联模板:

map(key,value),hash(key,value);

使用方法与连续容器相似。请记住map有自动排序的功能。使用有顺序的key值对时。不要用map。可以使用结构体的连续容器。 

 

 

 

 

 

你可能感兴趣的:(java,list,struct,qt)