我计划开发一个不使用TStrings类排序属性的软件,并删除重复的项目。什么是最好的方式做这个性能明智的?感谢您一如既往的专业知识或遵循的方向。希望我清楚的问题,基本上是一个文本列表,重复的行被删除,但仍然没有排序。该文件属于IRC信息,它的大小可能有点大。我记得我最后一次检查的日志是1。2兆左右。你的智慧之言
dm7nw8vv1#
最好避免重复,所以保持字典(这里它被用作集合)与列表中已经存在的字符串。示例:
uses System.Generics.Collections; var MyDict: TDictionary<String, Integer>; s: string; sl: TStringList; strs: array of string; begin strs := ['aa', 'bb', 'aa', 'dd']; sl := TStringList.Create; try MyDict := TDictionary<String, Integer>.Create; try for s in strs do if Mydict.TryAdd(s, 1) then sl.Add(s); Memo1.Lines.Assign(sl); finally MyDict.Free; end; finally sl.Free; end;
1条答案
按热度按时间dm7nw8vv1#
最好避免重复,所以保持字典(这里它被用作集合)与列表中已经存在的字符串。
示例: