Кто-нибудь может помочь, что является лучшим способом сравнить два строковых списка и получить от них отличные результаты?Удалить несколько элементов из TStringList после сравнения
Например, если у меня есть ALIST и Blist как
ALIST
- ABC
- CDE
- EFG
- KLM
- STA
- LMO
- TKJ
Blist
- АВС
- CDE
- EFG
- КЛМ
- СТА
- LMO
- TKJ
- FGJ
- FGJ
- ARE
- IJE
Если сравнивать их, как
for i := 0 to BList.count-1 do
if AList.indexof(BList[i]) < 0 then
ResultList.Add(BList[i]);
Результат является:
- FGJ
- FGJ
- ARE
- IJE
мне нужны элементы только один раз. Как я могу избежать нескольких элементов? Есть ли лучшее решение, чем сделать процедуру, которая удаляет несколько элементов из списка? Извините за мой английский и спасибо за помощь!
Похоже, у вас уже есть решение - просто добавьте еще один чек 'если ResultList.indexof (Blist [я]) <0 затем' –
Как долго ваши списки? Вы знаете скорость алгоритма? – MBo
Я заполняю оба списка из базы данных, поэтому длина будет переменной. От 200 до 5000+ записей. Да, я боюсь. Зачем? – Steve88