Здравствуйте.
Есть текст, предположим, 50000 тыс слов. Его надо обработать: разбить на слова (по пробелам), создать массив, который бы не содержал дубликатов слов и второй массив, считающий кол-во повторений того или иного слова, который бы был связан по ключу с первым.
Так вот, задача вроде бы реализована, но, поскольку поиск слов в TStringList реализован через indexOf, то поиск может быть очень медленным, порой до нескольких минут.
Вопрос: как можно оптимизировать поиск, возможно, еще что-то?
Дополнение №1:
Могу выложить исходик, если будет надо.
Дополнение №2:
В инете откопал такой вот пример, может, действительно, быстрее будет проверять: вставилась ли строка?
Код:
var Strlist: TStringList;
begin
Strlist := TStringList.Create;
Strlist.Duplicates := dupError;
Strlist.Add('aa'); {добавляем первую строку}
try
Strlist.Add('aa'); {добавляем дубликат}
ShowMessage('Ok');
except
on EStringListError do ShowMessage('Duplicate');
end;
end;
Спасибо!