Удалить строки, содержащиеся в одном QStringList, из другого QStringList - PullRequest
3 голосов
/ 23 ноября 2011

Мне было интересно, знает ли кто-нибудь о методе библиотеки Qt, который может взять два QStringList и удалить все строки, содержащиеся в одном списке, из второго списка.

Ответы [ 2 ]

8 голосов
/ 23 ноября 2011

В QList и QStringList 1006 *.

нет библиотечной функции. Но вы можете написать свой собственный метод:

void remove(QStringList& list, const QStringList& toDelete){
  QStringListIterator i(toDelete);
  while(i.hasNext()){
    list.removeAll(i.next());
  }
}
3 голосов
/ 23 ноября 2011

Вы можете использовать метод QList::toSet() и сделать несколько my_set1.substract(my_set2), а затем вернуться назад QSet::toList().Но это всего лишь игра с кодом преобразования.Вам лучше самим кодировать логику с помощью заданных списков, это будет быстрее и не потребует бесполезного выделения памяти (даже временного)

...