View Full Version : removing duplicate itens from QList<int>
john_god
22nd December 2010, 20:28
Hi guys
I'm using qSort () to sort a QList<int> list.
Now I will hardcode it to remove any duplicate int's from QList. :cool:
Unless that there is some "magical" Qt function that I don't know about that does that for me :confused:
Thanks :)
norobro
22nd December 2010, 20:51
Search the QList doc for "duplicates".
john_god
22nd December 2010, 20:55
Thanks norobro
There is a
int QStringList::removeDuplicates ()
but only for QStringList
I need it for QList, it seems it's not available :(
norobro
22nd December 2010, 21:34
Won't QList::toSet() do what you want?
Lykurg
22nd December 2010, 21:47
... and QSet::toList() to regain a QList. But maybe a small function of yourown to remove duplicates is faster.
john_god
22nd December 2010, 22:02
Thank you guys
I will check this later, but something like this should work
QSet<int> set = m_hits_list.toSet();
m_hits_list = set.toList();
qSort(m_hits_list.begin(),m_hits_list.end());// sort the list
But maybe a small function of yourown to remove duplicates is faster.
Do you think Lykurg ? I will check for performance later, but I thought Qt functions were very optimized. I would problably do it with a for() and a removeAll(), don't know if would be faster.
jefftee
7th August 2014, 06:56
If you need to remove duplicates, why allow the duplicates to the QList in the first place? Use QList::contains() (http://qt-project.org/doc/qt-5/qlist.html#contains) to see if a value already exists in the list before adding it.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.