容器 QStringList是一个字符串链表,里面存放的是QString类型的元素.下面是QStringList链表的一些常见用法.
1.在QStringList中添加元素.
cpp
QStringList weekList;
weekList<<"星期一"<<"星期二"<<"星期三";
2.在链表尾部添加元素.
cpp
weekList.append("星期天");//在链表尾部添加
3.for遍历链表.使用函数 at(),传入的参数就是元素的位置.下表需要从0数起.
cpp
for(int i=0;i<weekList.size();i++){
qDebug()<<weekList.at(i);
}
4.foreach遍历.遍历链表weekList,用QString类型的变量 s 临时存放里面的元素.这也正好印证了QStringList里面存放的元素是QString类型.
cpp
foreach(QString s,weekList){
qDebug()<<s;
}
5.使用STL风格迭代器访问.for循环中,只要迭代器没有指向链表的最后一个元素的下一个位置(end()),就继续往后读(++it).
cpp
QStringList::iterator it = weekList.begin();//把迭代器定位到链表开始的位置
for(;it!= weekList.end();++it){
qDebug()<<*it;
}
6.java风格迭代器访问.
QListIterator是字符串链表的迭代器,存放QString类型元素.hasNext():当前位置的下一个位置是否存在元素;next():因为初始位置不是第一个元素,而是第一个元素的前一个位置,所以需要往后偏移一位.
cpp
//QListIterator:字符串链表的迭代器,元素是QString类型.
QListIterator<QString> itr(weekList);
while(itr.hasNext()){//后面还有元素就执行
qDebug()<<itr.next();//next()原因:初始位置不是第一个元素.是第一个元素的前面.
}
7.contains() QStringList链表中是否存在某个元素.
cpp
qDebug()<<"链表中有星期八:"<<weekList.contains("星期八");//不存在 false
8.insert(): 往链表中插入元素.参数:指定插入链表的位置,指定插入的QString类型字符串.
prepend(): 在链表头部插入元素.
cpp
weekList.insert(0,"星期零"); //0则表示头部插入
//weekList.prepend("星期零"); //头部插入
9.append() 链表尾部插入元素
cpp
weekList.append("星期八");
10.removeFist()删除头元素
cpp
weekList.removeFirst();
11.removeLast()删除尾元素.
cpp
weekList.removeLast();
12.removeOne()删除某个元素
cpp
weekList.removeOne("星期一");
13.removeAt()删除指定位置的元素.
cpp
weekList.removeAt(0);
14.clear()清空整个链表.
cpp
weekList.clear();
all~~