QT(29)-数据类型-QList-QMap-QListIterator-QMutableListIterator基本操作-示例源码

mac2025-06-08  48

    用的语言多了,JAVA、 C++、 python、 JS ,数据类型的用法大致相同但细节处又不一样。今天MARK一下QT 底下的QList、 QMap、 QListIterator、 QMutableListIterator。一般常用的也就是变量的增删改查。

1.QList

2.QMap

3.容器 大体分两种JAVA风格和STL

4..QListIterator

5.QMutableListIterator

 


1.QList

QList<QString> m_list;//赋值比较容易 查找速度不快 1.1 赋值 insert() 插入 前后 中间 m_list[i]=""; m_list.append("end"); // 在列表尾部添加 m_list.prepend("start"); //列表头部 m_list.insert(m_index,"m_content");//m_index位置插入m_content 1.2 查询 数组个数,是否包含,索引,内容 m_list.contains("mm");//是否包含 m_list.count("mm");//包含的个数 m_list.size();//大小 int m_index=list.indexOf("mm")//序号、匹配的位置 int m_data=list.at(m_index)//查找位置上的数据 1.3删除 最前 最后 特定位置 replace() removeAt() removeFirst() removeLast() 1.4 换位 m_list.swap(1,3);

2.QMap

2.1 赋值insert() 插入 前后 中间 map["one"] = 1; // 向map中插入("one",1)//key m_value map["three"] = 3; map.insert("seven", 7); // 使用insert()函数进行插入 2.2 查询 数组个数,是否包含,索引,内容 int value1 = map["six"];//如果没有自动插入 int value2 = map.value("five");//如果没有不会自动插入 int value3 = map.value("nine", 9);//默认返回0 map.insert("ten", 10); map.insertMulti("two", 2);//一键多值 map.insertMulti("two", 4);

3.容器 大体分两种JAVA风格和STL

 

STL


4..QListIterator

QListIterator<QString> QListIterator<QString> i_iterator(list); QList<QString> list; list << "A" << "B" << "C" << "D"; 4.1 赋值 4.2 遍历列表 正向、反向 while (i_iterator.hasNext()) // 正向遍历列表,结果为A,B,C,D qDebug() << i_iterator.next(); while (i_iterator.hasPrevious()) // 反向遍历列表,结果为D,C,B,A qDebug() << i_iterator.previous();

5.QMutableListIterator

QMutableListIterator<QString> j_iterator(list); 先返回尾部,再判断是否有前一个值。 5.1 返回头部 尾部 j_iterator.toBack(); j_iterator.toFront(); 5.2 删除 先回尾部再判断 j_iterator.toBack(); // 返回列表尾部 while (j_iterator.hasPrevious()) { QString str = j_iterator.previous(); if(str == "B") j_iterator.remove(); } 5.3 查找 5.4 赋值 j_iterator.toBack(); if(j_iterator.hasPrevious()) j_iterator.previous() = "N"; // 直接赋值 j_iterator.setValue("M"); // 使用setValue()进行赋值

 

最新回复(0)