2011年5月6日

摘要: Delphi中的THashedStringList对象有许多程序员都喜欢使用TStringList类作为键值存储,这是不错的用法。但是 TStringList本身只是对数据线性的存储,当数据量大时,对其检索效率极为低下。Delphi在在IniFiles 单元中定义了另一个TStringList类,采用了哈希技术存储数据,它就是THashedStringList类。下面这段代码就是摘自 IniFiles单元中对THashedStringList的定义。THashedStringList = class(TStringList)private FValueHash: TStringHash; FN 阅读全文

posted @ 2011-05-06 17:36 严武 阅读(968) 评论(0) 推荐(0) 编辑

摘要: TStringList是我们常用的字符串列表类型,用法就不在这里赘述,但是,在其数据项数增多时,其搜索(主要是name/key搜索和indexof搜索)性能会急剧下降,原因是TStringList的内部存储使用了链表形式,而搜索操作使用了循环遍历方式。值得高兴的是,在iniFiles单元,Delphi为我们提供了THashedStringList类型,即,经过哈希处理的TStringList,它继承自TStringList,只是对搜索方法进行了优化,因此,我们完全可以放心的在大量字符串搜索的时候使用它来代替TStringList,而需要改变的只是在:=的后面用THashedStringList 阅读全文

posted @ 2011-05-06 17:27 严武 阅读(5533) 评论(2) 推荐(0) 编辑


Copyright © 2024 严武
Powered by .NET 8.0 on Kubernetes