在Delphi中有一个THashedStringlist类 使用这个类可以实现Hash表的操作 使用这个类需要引用IniFiles头文件
例如 我们定义的数据结构是
以下是引用片段 RTest = record Key:Integer; Name:String[ ]; Sex:Boolean; Age:Integer; end; PTest = ^RTest ; 创建Hash表 ScHash:=THashedStringlist Create; 将数据结构加入Hash表中 var Index:Integer; p_Test:PTest; Index:=ScHash IndexOf(IntToStr(p_Test Key)); if Index= then begin ScHash AddObject(IntToStr(p_Test Key) TObject(Integer(p_Test))); end;
在加入Hash表的时候 首先我们检查看这个Key是否在Hash表中 如果Index= 则说明此Key不在Hash表中 则我们将这个结构指针加入到Hash表中
将数据结构从Hash表中删除
以下是引用片段 var Index:Integer; t_Object: TObject; Index:=ScHash IndexOf(IntToStr(p_Test Key)); if Index<> then begin t_Object:=ScHash Objects[Index]; ScHash Delete(Index); end;
删除Hash表
在删除Hash表的时候和一般的Tlist删除一样 使用Free
lishixinzhi/Article/program/Delphi/201311/24714