QList 使用

144 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天,点击查看活动详情

解释:

QList是一种链表的模板类,在qt中QList也映出了许多新的类型,例如QListWidget,QStringList等等。他们其实都是继承自QList,他们其实都是链表,但是他们使用起来更为便捷,不用再次像使用Qlist一样去定义所对应单链表类型。并且QList提供基于索引的插入和删除等功能。

1.  初始化

QList <T> ptr_list;

这里的T可以换做为任何一个类型 例如 QList list; 在这里没有给list内部赋值,因此他的内容为默认的空。

QList list = {“111”,“222”}; 这是对list进行初始化操作,可以在定义的时候就把相对应的值直接添加进去。

2.  Qlist 遍历


    for (int i = 0; i < list.size(); i++)

    {

    //直接获取链表中当前位置的值。

    QString str = list[i];

    }
    

3. 插入:

list.append(“44444”); 这种方法是应用于把内容插入到节点尾部

list.insert(“44444”):插入节点中,但是他所插入到位置是随机的,同时也可以设置它添加到目的位置,出入参数的时候变为两个参数,第一个参数是想要插入到位置,第二个参数是他的内容。list.insert(2,“44444”) 这句的意思就代表将字符串“44444”插入到下标位置为2的位置上。

list.prepend(“44444”) :这种方式是将内容插入到头部

list.operator <<(“44444”):尾部添加节点或链表

list.operator+=(“44444”):尾部添加节点

这两个看似使用的方法一样,只是添加时代符号不一样它所代表的含义也会有所区别。第一种方法的特别之处在于他可以添加链表。

4.  删除节点

list.removeAt(3):删除指定位置的节点,参数代表下标,会删除下标位置所在的内容

list.removeFirst():删除头节点

list.removeLast():删除尾节点,链表的位置不会移动

5.移动节点 list.move(3):链表移动到指定的位置 list.swap():两个链表中的内容进行互换