关于大量元素的list对象删除效率
类中使用了10个std::list<CString>,每个list又平均有数万个值
在类对象析构时要析构好几分钟
我知道效率偏低的原因再于反复delete很多元素,如果用vector就会快很多
可是由于需要迭代器不失效以及频繁插入数据,所以不想换成其他容器
我试过在析构时创建多个线程,每个线程分别执行一个list对象的clear操作,可速度并没有改善,不知是否是由于STL对多线程加了锁
故请教各位大神有没有不换成其他容器的情况下提高一点效率
在类对象析构时要析构好几分钟
我知道效率偏低的原因再于反复delete很多元素,如果用vector就会快很多
可是由于需要迭代器不失效以及频繁插入数据,所以不想换成其他容器
我试过在析构时创建多个线程,每个线程分别执行一个list对象的clear操作,可速度并没有改善,不知是否是由于STL对多线程加了锁
故请教各位大神有没有不换成其他容器的情况下提高一点效率
...全文
相关推荐
C#遍历List并删除某个元素的方法
主要介绍了C#遍历List并删除某个元素的方法,实例分析了正序与倒序遍历list及删除元素的使用技巧,需要的朋友可以参考下
ArrayList删除集合中某一属性相同的元素方法(推荐)
下面小编就为大家带来一篇ArrayList删除集合中某一属性相同的元素方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
List和Set使用retainAll方法的比较
List和Set分别使用retainAll方法效率比较,Set.retainAll方法效率较高
JAVA容器效率深度分析List
NULL 博文链接:https://wwwiteye.iteye.com/blog/1992312
Java集合List常见方法
Java集合常见方法 1.集合 在说java中集合方法之前,先来了解一下什么是集合,在学习使用集合之前,我们都学过数组的使用,他们的结构很相似,但是数组有很大的缺点,比如: 1.数组能使用的方法很少,如果非要使用,只能我们自己完成; 2.数据类型单一化,不支持多种情况,每次定义的数组只能是一种数据类型 3.数组容量不可修改,数组扩容能满足,但是很繁琐 在这种情况下,java中有了集合的存在: 1.方法多种多样,基本功能完善; 2.数据类型支持多样化,又不失数据类型一致要求 3.容量可以变 2.集合架构 我们平时在java中使用到的List、Set等集合的总接口都来自Collection,jav


